电子产品要接入到物联网可以借助WiFi模块、蓝牙模块、Zigbee模块以及其他无线模块,通过无线模块采集产品内部传感器数据,并将数据通过WiFi或者是蓝牙上传到服务器端。
WiFi模块物联网智能家居应用
蓝牙模块物联网数据传输应用
MQTT协议是广泛应用的物联网协议,使用测试MQTT协议需要MQTT的代理。有两种方法使用MQTT服务,一是租用现成的MQTT服务器,如阿里云,百度云,华为云等公用的云平台提供的MQTT服务,使用公用的MQTT服务器的好处是省事,但如果仅仅用于测试学习还需要注册帐号,灵活性差些,有的平台还需要付费。另一方法是自己使用开源的MQTT组件来搭建。MQTT服务器非常多,如apache的ActiveMQ,emtqqd,HiveMQ,Emitter,Mosquitto,Moquette等等。
这里介绍的是用轻量级的mosquitto开源项目来搭建一个属于自己的MQTT服务器。
第一步:需要安装一台linux主机,这不多介绍,可以使用真机安装也可以使用虚拟机安装。如果仅仅是自己测试使用都可以。
第二步:下载mosquitto需要的依赖
sudo apt-get install libssl-devsudo apt-get install uuid-devsudo apt-get install cmake
第三步:下载mosquitto并解压,现在mosquitto官网最新的版本是151
tar xzvf mosquitto-151targz
第四步:编译
cd mosquitto-151/
make
make install
第五步:启动mosquitto
/mosquitto -v
1535473957: mosquitto version 151 starting
1535473957: Using default config
1535473957: Opening ipv4 listen socket on port 1883
1535473957: Opening ipv6 listen socket on port 1883
这时候mosquitto就会以默认的参数启动。如果需要带配置文件可以修改配置文件mosquittoconf,
启动时候加上参数 -c,
/mosquitto -c mosquittoconf
可以看到,mosquitto监听的端口为1883
这时候我们的MQTT服务器就搭建好了。可找一个mqtt客户端来测试一下。
先发布一个主题“home/garden/fountain/2”
内容是“hello world”
这时候在mosquitto会打印出下面的log
535474247: New connection from 1921681105 on port 1883
1535474247: New client connected from 1921681105 as MQTT_FX_Client (c1, k60)
1535474247: No will message specified
1535474247: Sending CONNACK to MQTT_FX_Client (0, 0)
1535474307: Received PINGREQ from MQTT_FX_Client
1535474307: Sending PINGRESP to MQTT_FX_Client
1535474339: Received PUBLISH from MQTT_FX_Client (d0, q0, r0, m0, 'home/garden/fountain/2', (12 bytes))
1535474367: Received PINGREQ from MQTT_FX_Client
1535474367: Sending PINGRESP to MQTT_FX_Client
订阅主题“home/garden/fountain/2”
可以看到收到了自己发布的消息。
用wireshark抓包
可以看到抓到了一个MQTT的publish的报文。
物联网的技术原理
事实上,物联网的原理是在计算机互联网的基础上,利用RFID、无线数据通信技术,构建覆盖全球数万座建筑的物联网。在这个网络中,建筑物(物品)之间可以在不需要人工干预的情况下进行通信。其实质是利用射频自动识别技术,通过计算机互联网实现物品之间的自动识别和信息的互联与共享。
物联网的核心技术还在云计算中,云计算是物联网实现的核心。物联网的三个关键技术和领域包括:传感器技术、RFID标签技术、嵌入式系统技术。领域:公共事务管理(节能环保、交通管理等)、公共社会服务(医疗健康、家居建筑、金融保险等)、经济发展(能源电力、物流零售等)。
传感器技术是计算机应用中的一项关键技术,将传输线上的模拟信号转化为可由计算机处理的数字信号。
RFID,即射频识别,是一种集射频技术和嵌入式技术于一体的集成技术,在不久的将来将广泛应用于自动识别和货物物流管理。
嵌入式系统技术是集计算机软件、计算机硬件、传感器技术、集成电路技术和电子应用技术为一体的复杂技术。
物联网使用场景,主要体现在几个步骤:采集、传输、计算、展示
物联网终端采集数据,将数据传送给服务器,服务器存储和处理数据,并将数据显示给用户。
例如,自行车是共享的,前向过程是自行车获取GPS位置数据,通过2G网络向服务器报告,服务器记录自行车位置信息,用户在APP终端查看自行车位置。反向处理是用户向服务器发出解锁请求,服务器通过2G网络向自行车发送解锁指令,自行车执行解锁指令。
物联网的大大小小的应用都是基于正向数据采集和反向指令控制实现的。
传输模式的选择:取决于距离和功耗
物联网的联网方式:
近距离低功耗,带BLE或ZigBee。
远距离低功耗,NB-IoT或2G
近距离大数据,带WiFi
大数据远程,使用4G网络
关于网络布局:
远距离传输比短距离传输更昂贵,功耗更高。合理使用远距离和远距离配置可以有效降低物联网终端的成本。
例如,原始共享自行车被2G网络解锁,需要数据的长连接或下行短消息解锁,功耗高,下载的共享自行车丢弃了远程解锁,直接使用手机的蓝牙解锁自行车,节省数据流,降低功耗,本发明还可以提高解锁速度,剩余能量电动自行车智能充电站也是物联网的高科技产品,采用最新的窄带通信技术引领电动自行车充电设备的技术高度。
云服务设计
物联网的云服务器和应用程序设计与I互联网基本一致,Java、PHP和ASP可用于物联网的后台处理。
移动互联网是“人-服务器-人”的框架,物联网是"物-服务器-人"的框架,两者是相同的,物联网终端设备也采用TCP、>
总结简图
首先,物理网是一种统称,并非产品。所以需要分开来看。
物理网结构上来说分为:产品、平台、系统(可包含在产品中)、服务器
简单的说
电子模块的设计
结构模块的设计(包括工业设计、机械设计等)
程序编写(即功能程序、系统程序等等)
后面需要做的就是:
架设服务器(这个并非必须,因为现在大的服务商都提供。这里所指的是内网或者是私人网络)
建立平台使得产品功能对接(现在也有一大堆的平台可以使用,所以也不是必须自己来建的)
物联网工程师需要学习一下几个方面:
1、物联网产业与技术导论:全面了解物联网之RFID、M2M、传感网、两化融合等技术与应用。
2、C语言程序设计:物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准。
3、单片机原理及应用:物联网的底层单片机及其相关应用技术,包括控制、多媒体等。
4、Java程序设计:物联网应用层,服务器端集成技术,开放Java培训技术也是必修课,同时需要了解Eclipse,SWT,Flash,HTML5等技术使用。
5、物联网工程概论:全面了解物联网基本知识、技术体系以及相关理论,对物联网的关键技术,如EPC和RFID技术、传感器技术、无线传感器网络技术、M2M技术等。同时应对与物联网密切相关的云计算、智能技术、安全技术也进行论述。
6、无线传感网络概论:学习各种无线RF通讯技术与标准,Zigbee,蓝牙,WiFi,GPRS,CDMA,3G,4G,5G等等。
7、TCP/IP网络与协议:TCP/IP以及OSI网络分层协议标准是所有有线和无线网络协议的基础,Socket编程技术也是基础技能。
8、嵌入式系统技术:嵌入式系统是物联网感知层和通讯层重要技术。
9、传感器技术概论:物联网专业学生需要对传感器技术与发展,尤其是在应用中如何选用有所了解,但不一定需要了解传感器的设计与生产,对相关的材料科学,生物技术等有深入了解。
10、RFID技术概论:RFID作为物联网主要技术之一,需要了解。
11、工业信息化及现场总线技术:工业信息化也是物联网主要应用领域,需要了解。
物联网软件、标准、与中间件技术:物联网产业发展的关键在于应用,软件是灵魂,中间件是产业化的基石,需要学习和了解。
物联网软件开发推荐:华盛恒辉科技有限公司。
物联网软件开发是指利用传感器、通信网络模组、软件、控制系统等将设备和网络云端进行连接和互动的模式。
在借助互联网和通信网络的基础上,能够把日常用品、设施、设备、车辆和其他智能设备互相连通。物联网是通过某个物件连接网络,通过信息化,能够将实际性物品进行有效性的转换。
作用
1、降低硬件成本
众所周知,硬件成本是每个工业行业多年存在的问题。物联网开发技术的出现简便了企业对传感器和各种硬件设备的需求,从而缓解硬件成本,人工成本,间接促成工业实施成本整体降低,甚至完全替代人工。
2、高性价比分析工具
分析工具对于工厂很重要,目前多数的企业选择传感器制造商提供软件分析工具,无论收费形式,还是免费试用,都可以通过这些工具看到。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)