BC.Wang Welcome

利用nodemcu以及Python进行wifi的局域网远程温度测量

2017-07-01
BCWang

阅读:


IOT.NodeMcu.Temperature

准备

  • 采用传感器DS18B20模块进行温度测定,(可以自选其他传感器模块)
  • 利用nodemcu连接wifi,并作为服务器使用,服务器更新温度数据至网页。作为服务器使用时,nodemcu会提供一个ip,在电脑端局域网访问此ip,获得温度数据数据
  • 利用Python自动获取温度数据,并利用matplotlib模块进行动态图处理,实现实时+作图检测

连接

温度模块的VCC端接在nodemcu的3V3上,总线端接到pin9(即D9)上,有些板子是接在RX上(可以自行设置)

代码

  • 将init.lua代码烧写到nodemcu中,由于init.lua是开机即执行,因而在测试时,推荐在最后一行加上file.remove(“init.lua”),避免发生每次开机遇到问题重复执行init.lua陷入死循环的情况
  • init.lua中:
  • 首先设置了wifi.station模式,作为“服务器”,需要提供wifi ssid和key,一旦连接上,打印IP地址,之后就可以让其他处于同一局域网的设备访问
  • 之后进行一些协议相关的设置,并处理温度数据
  • client:send()对服务器发送内容,将直接显示在网页上,可使用html语言

  • get_data.py中
  • 首先用urllib获取nodemcu创建的网页的内容,运行时在我的电脑上报了错,但错误内容正好就是温度数据,所以获取错误信息作为得到的数据
  • 之后利用matplotlib创建一个动态可视化的图,需要建立一个以yield返回的函数,之后animation.FuncAnimation内需要yield的数值进行更新

  • 网页效果:
  • 最终的动态效果(这里采用4张静态图代替动态图)

Comments

Content
0