User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   IOT物联网   ›   正文
IOT物联网

自建电表温湿度计数据统计平台

2025-07-30 16:07:29
18  0 0

自建电表温湿度计数据统计平台

原理

物联网网关通过rs485获取数据,并转网络协议
定时任务自动获取数据并存入数据库
使用django构建数据显示页面

硬件测试

电表:DDSU6606
温湿度计:HK-SHT30-1T-1H-5-36V-RS485
网关:TAS-LAN-462E
rs485转usb数据线
485通信调试
1.通过rs485转usb数据线和串口调试软件,根据说明书,测试和电表和温湿度通信
2.测试通过后,修改波特率设置站号码
3.将网关接入交换机、连接线缆。
网关网络调试
4.根据网关说明书,设置网关ip端口,服务模式等参数(server模式,网关作为服务端)
5.使用网络调试助手测试,测试通过tcp协议读取电表数据

python代码设计

通信代码
def oit_tastek_1(host='192.168.0.80', port=8081):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((host, port))
    s.sendall(bytes.fromhex('0F 03 03 00 00 01 85 60'))#电压
    data1 = encode_u(s.recv(1024).hex())

    s.sendall(bytes.fromhex('0F 03 03 03 00 01 75 60'))#电流
    data2 = encode_i(s.recv(1024).hex())

    s.sendall(bytes.fromhex('0F 03 03 12 00 01 25 65'))#功率因数
    data3 = encode_q(s.recv(1024).hex())

    s.sendall(bytes.fromhex('0F 03 00 00 00 04 45 27'))#电量
    data4 = encode_p(s.recv(1024).hex())
if data1 and data2 and data3 and data4:
    return (data1, data2, data3, data4)
else:
    return False

#使用apscheduler运行定时任务
入库代码
使用django自带的models
web页面
前端使用chart.umd.js展示数据,后端使用django的models提供数据
效果

评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
210 文章 2 评论 194801 浏览
测试
测试