标题: 51单片机一主多从通信思路 [打印本页]

作者: zhangzhijie1129    时间: 2023-5-6 15:21
标题: 51单片机一主多从通信思路
本人单片机新手,想问一下比如我想做一个路灯控制系统,主机控制多个从机,主机用DS1302来得到当前时间,晚上6点时给从机发送信号,从机控制路灯打开,到夜间12点后路灯全部熄灭,然后各个从机装有红外传感器,当有车辆经过时从机给主机发送信号,主机接受信号后给从机发送指令,从机控制路灯打开。我想问的是我可能一个主机控制很多从机,应该选择哪种通信方式,我还搞不懂通信这方面的知识,有没有大佬可以给我的想法重新构思一下,教教我具体应该怎么做,谢谢!

作者: 3485910187    时间: 2023-5-6 15:21
无线通信:使用无线通信模块(如Wi-Fi、蓝牙、Zigbee等)可以实现主机和从机之间的无线通信。

有线通信:使用有线通信方式(如RS-485、CAN总线等)可以实现主机和从机之间的可靠通信。可以将主机和从机连接在同一数据线上,通过数据线传输指令和数据。这种方式适用于距离相对较近且需要可靠通信

通信协议和数据传输:根据您选择的通信方式,您需要确定通信协议和数据传输格式。您可以设计一套简单的协议来实现主机和从机之间的指令和数据传输。

作者: Hephaestus    时间: 2023-5-6 15:45
通讯方式选485就可以了,但是从机有能力主动发伩号的话,那么几个从机同时发伩号岂不乱套了?
作者: 非凡科技    时间: 2023-5-6 15:59
当有车辆经过时从机给主机发送信号,主机接受信号后给从机发送指令,从机控制路灯打开。这一段有点多余,有车辆就亮灯干嘛还要告诉主机
作者: Hephaestus    时间: 2023-5-6 16:09
非凡科技 发表于 2023-5-6 15:59
当有车辆经过时从机给主机发送信号,主机接受信号后给从机发送指令,从机控制路灯打开。这一段有点多余,有 ...

亮灯事后通知主机还是有意义的,让主机有统计数据,但是从机看见车还要主机审批才能开灯我也不理解。
作者: 人中狼    时间: 2023-5-6 16:15
485就可以了,从机不要主动发送了,主机定时查询就可以了
作者: wydev    时间: 2023-5-6 16:28
建议使用GSM网络或者LoRa网络,因你的路灯不知道有多长,是否分片管理等等,485的通讯有距离限制
作者: coody_sz    时间: 2023-5-6 16:32
RS485,MODBUS-RTU协议
作者: yuyechenai    时间: 2023-5-6 17:00
CAN 通信了解一下  理论可以到 13 KM   如果数量太多的话 还是主从结构好
作者: li64331218    时间: 2023-5-6 17:29
主从结构,有线的一般还是485,无线的可以考虑4G网络

作者: man1234567    时间: 2023-5-9 08:40
1、依赖时间的工控用DS1302比较呵呵
2、“到夜间12点后路灯全部熄灭,然后各个从机装有红外传感器,当有车辆经过时从机给主机发送信号,主机接受信号后给从机发送指令,从机控制路灯打开”这个现实不可行(非控制技术上)
作者: yzwzfyz    时间: 2023-5-9 09:59
1、通讯问题:认真读一下,单片机手册中的主、从模式。
2、从机不必遇事先报告主机、再行主机命令、再开灯。自己直接控制即可。

作者: zywng2153    时间: 2023-5-9 11:48
1,可以在每个检测上都加上1302,每个灯都是独立的,可以控制灯的定时开启或者关闭
作者: zywng2153    时间: 2023-5-9 11:52
采用无线或者红外方式吧,485的通讯方式需要布线、施工,这个成本比1302成本高不少呢,每个路灯均加上1302,可以设置定时开启时间和关灯时间  
作者: huxiaolin    时间: 2023-5-10 17:05
这个已经很多网友说了,确定无线还是有线方式,有线的话使用485总线传输距离会比较远。MODBUS通讯协议的话网上都有,也有网友说了。具体实现从机发送指令到主机的话,转变思路,主机一直扫描几个从机的固定地址上的对应寄存器数值。从机的话就把对应的很多状态放置在寄存器内,比如寄存器地址0X0032的数值0X01对应有汽车来,0X00则没有车来,0X02对应汽车已经走远等等。
作者: liuchao626    时间: 2023-5-11 17:57
一个主机控制从机,推荐局域网广播,可以用ESP32做,每个都能做主机,能串联获取,只要有一个获取到了WIFI当前时间,对其他机子进行广播。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1