Arduino智慧农业之使用Adafruit IO上传温湿度数据
作者:野牛程序员:2023-12-25 10:59:14Arduino阅读 2712
利用Adafruit IO,可以将Arduino与云端连接,实现智慧农业中温湿度数据的上传。以下是一个简单的示例代码,演示如何使用Adafruit IO Arduino库上传温湿度数据:
#include <Adafruit_Sensor.h> #include <DHT.h> #include <DHT_U.h> #include <AdafruitIO_WiFi.h> #define DHTPIN 2 // 定义DHT传感器的连接引脚 #define DHTTYPE DHT22 // 指定DHT型号 #define WIFI_SSID "your_wifi_ssid" // 替换为你的WiFi名称 #define WIFI_PASS "your_wifi_password" // 替换为你的WiFi密码 #define AIO_USERNAME "your_adafruit_io_username" // 替换为Adafruit IO用户名 #define AIO_KEY "your_adafruit_io_key" // 替换为Adafruit IO密钥 DHT_Unified dht(DHTPIN, DHTTYPE); AdafruitIO_WiFi io(WIFI_SSID, WIFI_PASS, AIO_USERNAME, AIO_KEY); void setup() { Serial.begin(115200); // 启动DHT传感器 dht.begin(); // 连接WiFi io.connect(); // 等待连接成功 while(io.status() < AIO_CONNECTED) { delay(500); Serial.println("Connecting to Adafruit IO..."); } Serial.println("Connected to Adafruit IO"); } void loop() { // 延时2秒 delay(2000); // 读取温湿度数据 sensors_event_t event; dht.temperature().getEvent(&event); float temperature = event.temperature; dht.humidity().getEvent(&event); float humidity = event.relative_humidity; // 打印温湿度数据 Serial.print("Temperature: "); Serial.print(temperature); Serial.print(" °C, Humidity: "); Serial.print(humidity); Serial.println(" %"); // 将数据上传到Adafruit IO AdafruitIO_Feed *temperatureFeed = io.feed("temperature"); AdafruitIO_Feed *humidityFeed = io.feed("humidity"); // 发送温湿度数据到Adafruit IO temperatureFeed->save(temperature); humidityFeed->save(humidity); }
这个例子使用了DHT传感器读取温湿度数据,并通过Adafruit IO库将数据上传到云端。确保已经安装了Adafruit IO Arduino库和DHT传感器库。可以通过Arduino IDE的库管理器来安装这些库。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
