关闭视频

485转Wifi DTU设备(透传机智云)

发表于:2021年11月01日 11:46更新于:2024年05月20日 05:46

本文实现了一款DTU数传设备,能够实现工业中常用的485总线数据通过Wifi通讯和机智云进行透传。

下图为功能框图:

 

硬件端连接图

 

 

 

实物连接图

 

 

 

 

材料清单

 

名称 推荐购买源 资料下载
通用版机智云 App 免费 https://download.gizwits.com/zh-cn/p/98/99
ShineBlink 万能物联网开发板 淘宝搜索“机智云”或“ShineBlink”店铺有售 http://shineblink.com
带机智云GAgent固件的ATK-ESP8266 WIFI模块 淘宝搜索“机智云”店铺有售 http://gizwits.com
TD321D485模块 淘宝有售  
黑色底板 该底板只是为了省掉接杜邦线,让外观好看一些,不是必需品,开发者如果没有可以用杜邦线来替代。如果仍想获取该底板,可通过右边提供的PCB工程资料自己打样PCB制作即可。

https://fe9a58.link.yunpan.360.cn

/lk/surl_y6mpLtWWB9W#/-0

 

 

硬件端完整源代码

 

--使能485模块发送

function M485SendEn()

LIB_GpioWrite("D7",0)
end
--使能485模块接收
function M485RecvEn()
LIB_GpioWrite("D7",1)
end
--使能USB print打印功能
LIB_UsbConfig("CDC")--非必需代码,仅仅调试用
--配置D9端口为普通输出(开发板上的LED2灯和D9端口是固定连接的)
LIB_GpioOutputConfig("D9","STANDARD")--非必需代码,仅仅调试用,用来指示485接收状态
LIB_GpioWrite("D9", 1)
--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PS
PK = "b66009d0d1454d10963fc0c263b56870"
PS = "a479abebe44e42199f19117aea0989b3"
--初始化Wifi模块
LIB_GizWifiConfig(PK,PS,100,120,"UART0","D5","D10","D8")
--485模块接收发送控制
LIB_GpioOutputConfig("D7","STANDARD")
--配置Uart1串口波特率为9600
LIB_Uart1Config("BAUDRATE_9600")
M485RecvEn()--485模块平时都保持接收状态
--开启看门狗增加系统健壮性
--时间可以设置成"0.1S","1S","10S","30S","120S"
LIB_WatchDogConfig("1S")
--包计数器,用来保证需要发送给云的数据的第一个字节和上一个包的第一个字节不同
pkg_cnt = 0
--开始大循环
while(GC(1) == true)
do
--喂狗
LIB_WatchDogFeed()
--查询是否从机智云收到数据,个数不会超过64个
--如果收到就将数据通过485模块发出去
flag,cloud_data = LIB_RecvFromGizCloud("RawData")
if flag == 1 then --此时获取到一个包含64字节元素的table(数组)
M485SendEn()
LIB_GpioToggle("D9")--非必需代码
LIB_Uart1BlockSend(cloud_data)
M485RecvEn()
end
--查询是否从485模块接收到数据
--如果收到就通过透传通道"RawData"转发给机智云
flag,m485data = LIB_Uart1Recv()
if flag == 1 then
LIB_GpioToggle("D9")--非必需代码
pkg_cnt = pkg_cnt + 1
if #m485data <= 63 then
--发送给机智云的每包数据即使内容相同,第一个字节也不要相同
table.insert(m485data, 1, pkg_cnt&0x000000ff)--在数据包头部插入一个元素
LIB_SendToGizCloud("RawData",m485data)
else
print("Data package over size")
end
end
end

上面代码中出现的"LIB_"开头的库函数的详细介绍可以在shineblink.com网站上的API文档中查询。

 

 

机智云接入(选用机智云+通用版App)

 

通过《Wifi设备接入机智云教程》我们可以很快掌握机智云的接入流程,并使用现成的通用版机智云App即可很快的实现手机App远程访问我们的开发板。

本例中我们使用了"RawData"这个数据点作为和机智云进行数据收发透传的通道,记得在机智云平台修改相应的数据点的名称。

 

DTU设备的使用

 

♦ DTU向机智云发送数据

 

♦ 机智云向DTU发送数据

 

内容限制

 

♦ DTU向机智云发送的数据内容,每包不能超过63字节;

♦ 机智云向DTU发送的数据内容,每包不能超过64字节;

♦ 每包之间的发送间隔也不要太频繁,建议100ms以上。

 

 

热门DTU推荐

 

机智云自研多款高性能、低功耗工业DTU产品,即插即用实现设备数据采集和管理,兼容NB-IoT、Wi-Fi、2G 、4G、5G、Lora、有线接入等多种通信方式,可对接主流工业协议和业务系统,覆盖多个行业多种应用需求。

点击了解机智云DTU更多详情内容。