当前位置: 首页 > news >正文

大同网站建设推广大连大连建设工程信息网站

大同网站建设推广,大连大连建设工程信息网站,建网站需要准备什么,it行业做网站一个月多少钱前言 此篇为番外篇,是 ESP8266 入门的其他功能教程,包括但不限于 DHT11 驱动TCP 通信Thingsboard 平台的接入阿里云物联网云平台接入华为云平台接入 1. 小节目标 使用 Lua 驱动 DHT11 传感器,获取温湿度的值 2. 进入主题 NodeMCU 基于 LUA 相关资料 官方文档#xff1a;… 前言 此篇为番外篇,是 ESP8266 入门的其他功能教程,包括但不限于 DHT11 驱动TCP 通信Thingsboard 平台的接入阿里云物联网云平台接入华为云平台接入 1. 小节目标 使用 Lua 驱动 DHT11 传感器,获取温湿度的值 2. 进入主题 NodeMCU 基于 LUA 相关资料 官方文档dht - NodeMCU Documentation 包括 dht 的固件nodemcv_dht.zip 如果使用的是以下这一款硬件就直接使用引脚4 2.1. 单独驱动温湿度传感器 dht11Pin 4tmr.create():alarm(3000,tmr.ALARM_AUTO ,function()if conn_flag1 thenstatus, temp, humi, temp_dec,humi_dec dht.read(dht11Pin)if status dht.OK then --根据返回的状态dht11datastring.format(DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n)-- 打印print(dht11data)-- 在这里直接发送到MQTT上else print(dht11 error)-- 下面这一行是上报到物联网云平台的,如果不想上报直接打印即可-- m:publish(pub_topic,[dht11 error,0, 0, function(client) print(sent) end)endendend) 2.2. 完整代码 station_cfg {} station_cfg.ssid wifi_ssid station_cfg.pwd wifi_pwdstation_cfg.auto false station_cfg.save false-- MQTT配置 mqtt_cfg {} mqtt_cfg.host broker.emqx.io mqtt_cfg.port 1883 mqtt_cfg.clientid alro12345940 mqtt_cfg.keepalive 120 mqtt_cfg.username AlvaRocha mqtt_cfg.password aio_KOsafety editsXwbgtWCboCal sub_topic/topic/ctiot/dht11/topic/c pub_topic/topic/ctiot/dht11/topic/m mnil iot_test mqtt.Client(mqtt_cfg.clientid, mqtt_cfg.keepalive, mqtt_cfg.username, mqtt_cfg.password)-- wifi配置 wifi.setmode(wifi.STATION) wifi.sta.config(station_cfg)-- gpio 配置 pin3 gpio.mode(pin, gpio.OUTPUT)conn_flag0function get_broker(mqtt_client)mqtt_client:connect(mqtt_cfg.host, mqtt_cfg.port, false,function(client)client:subscribe(sub_topic, 0, function(client)print(subscribe success , sub_topic)end)m:publish(pub_topic, success, 0, 0, function(client)print(init success)conn_flag1end)end,function(client, reason)print(connection failed, reason)end)mmqtt_client endiot_test:on(offline, function(client)print(client offline)conn_flag0get_broker(iot_test) end) iot_test:on(message, function(client, topic, data)--print(MQTT msg received on .. topic .. :)if data ~ nil thenprint(data)if data 1thengpio.write(pin, gpio.HIGH)print(1111)endif data 2thengpio.write(pin,gpio.LOW)print(222)endend end)function startup()if file.open(init.lua) nil then--print(init.lua deleted or renamed)else--print(Running)file.close(init.lua)get_broker(iot_test)end endwifi_connect_event function(T)print(Connection to AP( .. T.SSID .. ) established!)print(Waiting for IP address...)if disconnect_ct ~ nil thendisconnect_ct nilend endwifi_got_ip_event function(T)tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup) endwifi.eventmon.register(wifi.eventmon.STA_CONNECTED, wifi_connect_event) wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, wifi_got_ip_event) wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)wifi.sta.connect() end) wifi.sta.connect()dht11Pin 4tmr.create():alarm(3000,tmr.ALARM_AUTO ,function()if conn_flag1 thenstatus, temp, humi, temp_dec,humi_dec dht.read(dht11Pin)if status dht.OK then --根据返回的状态m:publish(pub_topic, string.format(DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n,math.floor(temp),temp_dec,math.floor(humi),humi_dec),0, 0, function(client) print(sent) end)else print(dht11 error)m:publish(pub_topic,[dht11 error,0, 0, function(client) print(sent) end)endendend)3. 完整的代码注释 为了方便各位读者学习,特地将代码加上注释,如下 -- Wi-Fi连接配置 station_cfg {} station_cfg.ssid wifi_ssid -- 设置Wi-Fi的SSID station_cfg.pwd wifi_pwd -- 设置Wi-Fi的密码 station_cfg.auto false -- 设置Wi-Fi不自动连接 station_cfg.save false -- 设置不保存Wi-Fi连接信息-- MQTT连接配置 mqtt_cfg {} mqtt_cfg.host broker.emqx.io -- 设置MQTT服务器地址 mqtt_cfg.port 1883 -- 设置MQTT服务器端口 mqtt_cfg.clientid alro12345940 -- 设置MQTT客户端ID mqtt_cfg.keepalive 120 -- 设置MQTT保持连接时间 mqtt_cfg.username AlvaRocha -- 设置MQTT用户名 mqtt_cfg.password aio_KOsafety editsXwbgtWCboCal -- 设置MQTT密码 sub_topic/topic/ctiot/dht11/topic/c -- 设置MQTT订阅主题 pub_topic/topic/ctiot/dht11/topic/m -- 设置MQTT发布主题-- 初始化MQTT客户端 mnil iot_test mqtt.Client(mqtt_cfg.clientid, mqtt_cfg.keepalive, mqtt_cfg.username, mqtt_cfg.password)-- 设置Wi-Fi模式为Station模式并配置Wi-Fi连接参数 wifi.setmode(wifi.STATION) wifi.sta.config(station_cfg)-- 配置GPIO引脚 pin3 gpio.mode(pin, gpio.OUTPUT)conn_flag0 -- 初始化连接标志为0-- 连接到MQTT服务器并订阅主题的函数 function get_broker(mqtt_client)mqtt_client:connect(mqtt_cfg.host, mqtt_cfg.port, false,function(client)client:subscribe(sub_topic, 0, function(client)print(subscribe success , sub_topic)end)-- 发布初始化成功消息m:publish(pub_topic, success, 0, 0, function(client)print(init success)conn_flag1end)end,function(client, reason)print(connection failed, reason)end)mmqtt_client end-- MQTT客户端离线时的回调函数 iot_test:on(offline, function(client)print(client offline)conn_flag0get_broker(iot_test) end)-- MQTT客户端接收到消息时的回调函数 iot_test:on(message, function(client, topic, data)if data ~ nil thenprint(data)if data 1 thengpio.write(pin, gpio.HIGH)print(1111)endif data 2 thengpio.write(pin,gpio.LOW)print(222)endend end)-- 设备启动时执行的操作 function startup()if file.open(init.lua) nil then--print(init.lua deleted or renamed)else--print(Running)file.close(init.lua)get_broker(iot_test)end end-- Wi-Fi连接成功时的事件处理函数 wifi_connect_event function(T)print(Connection to AP( .. T.SSID .. ) established!)print(Waiting for IP address...)if disconnect_ct ~ nil thendisconnect_ct nilend end-- 获取到IP地址时的事件处理函数 wifi_got_ip_event function(T)tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup) end-- 注册Wi-Fi事件监听器 wifi.eventmon.register(wifi.eventmon.STA_CONNECTED, wifi_connect_event) wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, wifi_got_ip_event) wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)wifi.sta.connect() end) wifi.sta.connect()-- DHT11传感器引脚配置 dht11Pin 4-- 定时执行DHT11传感器读取并向MQTT服务器发布数据 tmr.create():alarm(3000,tmr.ALARM_AUTO ,function()if conn_flag1 thenstatus, temp, humi, temp_dec, humi_dec dht.read(dht11Pin)if status dht.OK thenm:publish(pub_topic, string.format(DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n,math.floor(temp),temp_dec,math.floor(humi),humi_dec),0, 0, function(client) print(sent) end)else print(dht11 error)m:publish(pub_topic,[dht11 error,0, 0, function(client) print(sent) end)endendend)4. 结语 本小节完成了以下功能: 配置Wi-Fi连接参数使设备能够连接到指定的Wi-Fi网络。配置MQTT连接参数使设备能够使用MQTT协议与远程服务器通信。设置GPIO引脚的模式和状态以便设备可以控制外部设备。连接到MQTT服务器并订阅特定主题以便实时接收来自服务器的消息。当设备收到MQTT消息时根据消息内容执行相应的操作例如控制GPIO引脚的状态。在设备启动时执行初始化操作包括连接到Wi-Fi网络和MQTT服务器。注册Wi-Fi事件监听器以处理Wi-Fi连接状态变化事件。通过DHT11传感器定时读取环境温湿度数据并将数据发布到指定的MQTT主题上。 柴头物联网出品
http://www.w-s-a.com/news/319606/

相关文章:

  • 十堰城市建设网站网站开发流程宜春
  • 内江网站建设郑州网站优化外包
  • 土地流转网站建设项目云南抖音推广
  • 建设银行网站无法打开2021年有没有人给个网站
  • 高端手机网站建设网站建设岗位绩效
  • 泰安网络推广 网站建设 网站优化免费素材网站psd
  • 做企业网站联系网站开发具体的工作内容
  • 联合易网北京网站建设公司怎么样网站页面开发流程
  • 2015做那些网站能致富网站建设审批表
  • 深圳 网站设计个人名片模板
  • 网站建设费用选网络专业网站在线推广
  • 天津建设网站c2成绩查询用记事本制作html网页代码
  • 织梦二次开发手机网站如何成为一名设计师
  • 网站公司建设网站镇江本地网站
  • 网页设计后面是网站建设吗凡客诚品的配送方式
  • 万链网站做的怎么样?深圳门户网站开发
  • 在线设计工具的网站怎么做wordpress多语言版本号
  • 建设购物网站要求优秀网站大全
  • 平顶山做网站公司用源码网站好优化吗
  • 网上电商游戏优化大师手机版
  • 个人微信公众号怎么做微网站吗网站域名需要续费吗
  • 有效的网站建设公丹阳做网站的
  • 哪些行业做网站的多学企业网站开发
  • 外贸seo网站制作网站备案的流程
  • 网站布局教程wordpress 侧边栏位置
  • 谁有手机网站啊介绍一下dedecms 网站重复文章
  • 博客网站快速排名微信机器人免费版wordpress
  • 孝感网站建设xgshwordpress网站基础知识
  • 百度为什么会k网站长沙做网站找哪家好
  • 揭阳商城网站建设新闻稿发布平台