远程无线显示传感器数据

C.H. Vithalani博士著

571.

艾菲测试了sani theo许多工业和消费者应用中需要远程无线显示传感器数据。传感器数据如灯,温度,加速度计和应变仪等,可以通过Wi-Fi传送,并根据应用和方便起见,在移动电话,笔记本电脑或台式电脑上显示。

本课题使用的是NodeMCU,这是一种带有Wi-Fi芯片ESP8266的单板微控制器板。因此,它适合于物联网应用。NodeMCU拥有使用Lua脚本语言的开源硬件和固件。它有以下特点:

  • 1个模拟输入(10位集成ADC)
  • 13个数字I/O引脚(如USART/I2C/SPI等替代功能)
  • Micro USB接口,用于供电、编程和调试
  • 一个2×2.54mm, 15引脚头,可以访问gpio, SPI, UART, ADC和电源引脚
  • 复位和闪光按钮
  • 通过micro USB端口5V电源供电
  • Wi-Fi支持(802.11 B / G / N,2.4GHz,WPA / WPA2)
  • 集成低功耗32位RISC单片机(L106)
  • 64KB指令RAM, 96KB数据RAM
  • 集成的TCP/IP协议栈
  • 集成了TR开关、巴伦、LNA、功率放大器和配套网络
  • 集成锁相环,稳压器,和电源管理单元
  • 支持天线多样性
  • 待机功耗<1.0mW
  • 802.11b模式下的+ 20dBm输出功率
  • 工作温度范围为-40°C至125°C

NodeMCU的引脚图如图1所示。

Nodemcu的针图
图1:NodeMCU引脚图

远程测量和监控温度的电路图如图2所示。电路部件列表包括NodeMCU ESP8266-12板和LM35传感器或数字/模拟I/O板。NodeMCU被用作一个web服务器,测量温度并在互联网浏览器上广播传感器数据。NodeMCU板可以用Arduino IDE或MicroPython固件编程。使用Boards Manager安装Arduino IDE和NodeMCU支持。使用Arduino的安装过程发表于多达4个设备的认证控制DIY文章刊登于《EFY》杂志2019年4月刊。

MicropeThon允许您在嵌入板和微控制器上运行Python 3的微型版本。它是一个微小的开源Python编程语言解释器,旨在在小型嵌入式设备上运行。MicroPopthon不支持整个Python标准库,因此我们可以称之为一个Python的子集。

MicroPython的优点包括占用空间小(需要更少的内存),由于硬件API,它接近硬件,并且是一个干净简单的Python代码来控制硬件。缺点是标准库函数有限,执行速度低于C语言。因此,在执行速度要求非常重要的实时信号处理中,有时可能会出现问题。

在NodeMCU中安装MicroPython固件有两种方法。使用以下任何一种方法(ESP8266 flash和ESPtool)上传MicroPython固件到您的NodeMCU。

ESP8266闪光

下载nodemcu-flahser.下载二进制文件esp8266-20170823-v1.9.2.bin(或最新版本)。2.单击“nodemcu- Flash unzip”文件夹下的esp8266flash,选择二进制文件“esp8266-20170823- v1.92 .bin firmware”,单击Flash,如图3所示。这将在NodeMCU板上安装固件。ESPtool命令。在命令提示符下使用ESPtool。下面的命令在Windows 7 64位机器上使用Python 3。

具有Nodemcu的LM35传感器的电路图
图2 LM35传感器与NodeMCU接口电路图
ESP8266 Flash按钮
图3:ESP8266闪光器中的闪光按钮

打开命令提示符(cmd),使用如下命令安装esptool:> pip安装esptool

首先连接NodeMCU板到您的PC,并使用以下命令擦除它:
>esptool.exe -p COM9 -b 115200 erase_flash .exe

使用PC /笔记本电脑将其分配给NodeMCU的COM端口,更改COM9端口。

接下来,使用以下命令将固件下载到Nodemcu:
> esptool.exe -port COM9 -baud 115200
write_flash -flash_size =检测0ESP8266-20170823-v1.9.2.bin

在上面的命令中,给出固件的二进制文件的路径(如果它不在同一目录中),如果ROM大小未知,使用flash_size=detect。(以上命令可以写成批处理文件。)

现在,下载ESPlorer软件

使用ESPlorer软件(基于Java)上传MicroPython应用程序源代码到NodeMCU。通过ESPlorer将MicroPython程序上传到NodeMCU的步骤如下:

  • ESPlorer开始。转到设置并选择MicroPython选项。
  • 选择Scripts选项。
  • 连接节点,选择对应的COM口,波特率设置为115200。
  • 打开端口并按下NodeMCU上的reset按钮。命令提示符将显示在右边,如图4所示。
  • 打开新文件并编写程序代码,或者打开Python脚本(ReadTemperatureDisplayOnBrowser.py)
按下复位键时,ESPlorer界面
图4:按下重置按钮时的eSplorer屏幕

在编写上述Python脚本后,按“发送到ESP”按钮,如图4所示.Nodemcu将连接到Wi-Fi网络。请注意,如图5所示的IP地址为192.168.0.108。5.在Python程序中输入相同的IP地址,然后再次按“发送至ESP”按钮将Python代码上传到Nodemcu。

这个项目也已经通过使用tonny IDE成功测试。在ESPlorer和Thonny IDE中使用NodeMCU的步骤包括在源代码文件夹中。

建设和测试

如图2所示,用三根线将温度传感器LM35与NodeMCU板连接起来。您也可以使用数字模拟I/O模块上的LM35传感器来测试项目。

在PC或智能手机上打开任意浏览器,输入ESPlorer命令提示符显示的URL,如图5所示。请确保PC机已连接
连接Nodemcu的相同网络接入点。

在esplorer上显示的IP地址
图5:在esplorer上显示的IP地址

当温度超过40℃时,NodeMCU板载LED会发光,浏览器上显示的圆会变成红色。当温度小于等于40℃时,LED熄灭,圆圈变为绿色。PC浏览器温度显示截图如图6所示。

电脑浏览器温度显示
图6:PC上Web浏览器上的温度显示

在当前的源代码中,您需要在PC上按F5(刷新)按钮,以在浏览器上获得新的温度值。在智能手机上输入相同的IP地址,可以得到相同的温度显示。

数字模拟I / O模块

数字模拟I/O (DAIO)模块的结构如图7所示,其原理图如图8所示。DAIO模块有以下内容:

DAIO板布局
图7:Daio Board布局
DAIO模块电路图
图8:DAIO模块电路图

任何微控制器的数字输入。四个开关和红外接收机TSOP1738
任何微控制器的模拟输入。两个可变电阻,一个光传感器和一个温度传感器

数字和模拟输出为任何微控制器。八个led和一个蜂鸣器
DAIO模块的LM35传感器与NodeMCU板的连接需要3个母对母连接器。DAIO模块的Vcc端子应连接到3.3V,其接地引脚应连接到NodeMCU板的接地引脚。

下载源代码


C.H. Vithalani博士是古吉拉特邦政府工程学院电子与通信工程系的教授。指导博士16人,发表研究论文25篇。通过指导创新的学生项目来解决现实生活中的挑战是他的爱好。

分享你的想法和评论

请输入您的评论!
请在这里输入你的名字