嵌入式培训

亿元级外企嵌入式培训企业

  • 全国服务监督电话4001118989
  • 物联网技术之三:服务端开发框架

    发布:嵌入式培训  来源:嵌入式资讯  时间: 2017年04月19日

  • Client/Server架构,即客户端/服务器架构。智能硬件连上后台服务器后,其就是一个客户端,一个终端。由于单片机中资源受限,实际上是不太可能用HTTP协议的,...

  • Client/Server架构,即客户端/服务器架构。智能硬件连上后台服务器后,其就是一个客户端,一个终端。由于单片机中资源受限,实际上是不太可能用HTTP协议的,所以互联网中通用的Web服务器开发并不适合这里。有的厂家会在TCP之上自定义协议,有的就移植别人做好的协议比如MQTT,CoAP等等。

    服务端开发就比较复杂了。单片机/嵌入式软件开发还好,只要学习好C语言即可打遍天下无敌手,而服务端开发,用Java呢还是Python还是PHP?反正Java和Python选一个就好了,嵌入式出身的工程师,一般都会学Python。

    Python服务器端的开发框架种类繁多,Web开发的有Django、Flask、TornadoWebServer,TCP服务器可以用Twisted,等等。MQTT有已经做好的服务器,像这样的服务器不用自己开发,直接部署即可。

    如图,这是我开发一个智能硬件的服务器端的框架图。使用Redis作为HTTP和TCP服务器的数据共享内存,TCPServer收到的硬件端Client数据都存放到Redis里,用户端通过HTTPServer服务器,从Redis里获取硬件端的数据,然后展示到Web端或手机端上;如果用户端需要控制硬件,给HTTP服务器发送请求,然后Flask发送指令到Redis,Twisted从Redis收到指令后,就会给对应的硬件端发送指令,最后硬件执行响应的操作。

    在这个项目开发中,最少需要开发用户端的HTTP服务端和硬件端的TCP服务器。Flask和Twisted都可以说是互联网技术里的服务端开发技术,现在我把这两个技术框架拿过来一用,是不是也算物联网技术?物联网技术本身就是在现有成熟的技术上发展而来的。

    到了这里,服务端开发和前面两个技术可以作为一个分层,前面的单片机/嵌入式和网络通信的开发可以算作是一个电子设备的开发,后台工程师只要拿到了这个电子设备,知道这个设备提供了哪些接口(API),就可以进行后台开发了——把设备连上网络,分配给它一个IP或者什么的,配置好接口及相关操作,剩下的事情就交给前端了。

    关于前端技术

    关于前端技术,我这里不好单独写一个主题,其一,我对前端技术没有那么熟悉,还处于前端技术=HTML+JavaScript+CCS的概念,以及手机端的APP开发;其二,前端技术与电子硬件技术间隔相差太远,前端更多的是和美工沟通,和后台协调,和设计师交流,甚至可能还需要有一定的美感;其三,大部分项目的最重要的是实现设备的稳定性、联网、数据的获取和控制。如果设备不稳定,数据出现差错,没法控制,再漂亮的前端页面也没用。其四,如果是做智能家居,做消费电子领域的项目,针对广大普通消费者,比如WiFi插座,一个漂亮的界面是很重要,但是大多数的物联网项目,只需要一个后台管理界面就行了。

    所以,没有前端的设计,界面都是很丑咯!

  • 上一篇:物联网技术之二:网络通信协议

    下一篇:物联网技术之四:无线自组网

网站导航
2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56