背景知识视频教程
使用NodeMCU(由ESP8266支持),MicroPython和PyCharm进行物联网 - 国外课栈viadean.com在本文中,我们将获取所有捕获的数据,并将它们发送到物联网服务http://ThingSpeak.com和移动应用程序(Thingsview),在那上面我们可以记录和播放数据。
项目示意图
物料清单
硬件接线
我们在这里将使用的硬件基本上与在运行MicroPython的ESP上使用Jupyter Notebook中使用的硬件相同,有关所有硬件连接,请参考它。
伺服是一个例外,我们将不会在该项目中使用它。
MicroPython使用Jupyter
您必须在ESP设备上加载Micropython解释器。加载后,您应该使用任何可用的方式/ IDE对ESP进行编程,例如:
- REPL
- Jupyter Notebook
- Mu
- ESPCut (Windows only)
在运行MicroPython的ESP上使用Jupyter Notebook文中,我详细介绍了如何下载和安装MicroPython解释器,ESPTool来管理ESP设备以及如何将Jupyter Notebook用作开发环境。
我通常会在Jupyter Notebook上进行所有开发,一旦获得最终代码,便将它们复制到Geany并使用Ampy将其加载到我的ESP上。
传感器
让我们分别安装库,定义GPIO,创建对象和所有传感器的功能:
DHT(温度和湿度)
让我们安装DHT库并创建一个对象:
现在,创建一个读取DHT传感器的函数:
测试DHT函数:
结果:
(17.7, 43.4) |
DS18B20(外部温度)
让我们安装库并创建一个对象:
扫描总线上的设备
打印结果并不是很重要,我们需要的是第一个检测到的传感器:sensors [0]。现在,我们可以构建一个函数来读取传感器数据:
使用创建的函数测试传感器始终很重要
如果获得温度值,则您的代码结果为:
17.5 |
LDR(光度)
LDR将使用我们ESP的模拟引脚(在ESP8266中只有一个,在ESP32中只有多个)。
与之前相同:
传感器数据
现在,我们为每个传感器创建了一个函数,让我们创建最后一个将同时读取所有传感器的函数:
现在,如果您使用:
print(colectData()) |
将产生一个元组,其中包含从传感器捕获的所有数据:
(17.4, 45.2, 17.3125, 103, 1) |
我们还可以选择在本地显示器上显示这些数据:
作为一种选择,当我们开始读取传感器时,我还将包括使LED点亮,在显示数据后熄灭。 当我们断开ESP与PC的连接并自动运行时,这样做将有助于确认程序是否正常运行。
ESP运行本地站代码
到目前为止,我们可以将所有开发的内容放在一个文件中,由我们的ESP执行。
让我们打开任何文本编辑器,并在其上面添加所有代码:
将其保存为localData.py。
将ESP连接到本地WiFi
参阅
ESP8266使用MicroPython发布和订阅网络端MQTT - 国外课栈viadean.com