创建与嵌入式devi通信的网站

2024-06-25 06:24:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在做一个项目,我试图通过一个面向互联网的网站来控制一个嵌入式设备。它的想法是,用户可以进入一个网站,告诉这个设备来执行某种操作。网站上的操作将被转换为一系列CLI命令,然后发送到设备。未来通信可能会双向进行,但现在我主要关注的是服务器到设备。在

web服务器是一个使用Python(Django)的LAMP堆栈,我尝试与之通信的设备是运行eLinux的Beagle板。在任何时候都只有一个设备与服务器通信。在

我已经在服务器和设备端编写了所有的功能部件,但是我在弄清楚如何编写通信层时有点困难。我的一个大问题是,这个设备将是移动的,每隔几天就会移动一次位置。所以,我不能保证设备的静态IP地址。我的网络编程知识很少,所以我不知道从哪里开始。在

有人对我如何开始发展这种交流有什么想法/资源吗?在

谢谢!在


Tags: 项目django用户命令服务器webcli面向
3条回答

如果服务器是静态的,您可以让设备建立到服务器的连接来报告它的IP地址。在

您可以为设备编写a simple UDP server以侦听传入的通信,然后为您的web服务器编写write a client in python以进行调用。在

我的正常行为模式(当然,它可能需要通过nat等)是让设备设置一个反向SSH隧道,它只是“调用home”:http://www.howtoforge.com/reverse-ssh-tunneling

请注意,SSH连接时不时断开,所以我在服务器上设置了一个heartbeat方法,如果客户机(Beagle Board)错过了一定数量的心跳,那么就让它破坏隧道并创建一个新的。在

您可以简单地使用DynDNS这样的提供者注册一个动态主机名,并让设备在该网站上更新它的IP地址,这样动态主机名总是指向设备IP—Linux上有很多客户机、脚本等可以做到这一点。在

相关问题 更多 >