精华内容
下载资源
问答
  • 物联网开发入门+项目实战,百度网盘地址,分享给大家谢谢
  • 对于学习嵌入式,很多初学者网上搜一下发现要学的东西很多,看完之后还是一头雾水,诸如一次推荐十几本书这样,真的是越看越头大,因此断了不少人的嵌入式学习计划。其实学习嵌入式从不懂到入门是有方法的,捋顺思路...

    对于学习嵌入式,很多初学者网上搜一下发现要学的东西很多,看完之后还是一头雾水,诸如一次推荐十几本书这样,真的是越看越头大,因此断了不少人的嵌入式学习计划。其实学习嵌入式从不懂到入门是有方法的,捋顺思路后我们不妨试一试,由易到难,从我们熟悉的地方开始学习,我相信你也一定可以。

    一、能看懂电路图

    学校C51或CORTEX-M3开发板电路图分析

    再在淘宝或信盈达购买1款自己感兴趣的电子产品(100-300元价位的),然后拆开,分析电路图。

    像基本的微机原理,门电路、最小系统,嵌入式系统的运行原理都会在看懂电路图的过程掌握,从C51到M3/M4实践的过程中不断发现问题,不断解决问题,最终结果就是电路这块要过关。

    二、能用C语言编程

    除了必要的基本语法外,什么是结构体?什么是共用体?有什么区别?都是必须掌握的。具体来讲:最起码能独立编写30-60个例子程序。

    1)函数数组指针10个;2)结构体10个;

    3)链表10个; 4)常用算法10-30个程序。

    每天2-3小时,1小时背会1个程序,1-2小时敲代码然后修改调试成功这个程序。2-3个月即可掌握。 注意必须动手敲代码!

    C语言如何学习这里不再赘述,总之它非常非常重要。c++的话要知道什么是类?怎么定义,继承,接口,这些都要深刻理解,当然基本语法也是必须掌握的。

    三、掌握2-3款CPU

    建议掌握最新最常用CPU例如:

    3.1 ARM(Cortex-M3或Cortex-M4)、主流

    3.2 飞思卡尔(车载领域用的最多)

    3.3 MIPS系列(中国龙芯、北京君正)低功耗。

    以上三个系列任选1-2个芯片即可。

    买个电子产品例如点菜机+点菜机对应

    CPU(CORTEX-M3)开发板,将点菜机所有功能在开发板上实现。

    例如:点菜机界面、按键、通信等功能实现。

    这就是一个逐步学习的过程,学校的C51我们都接触过,要想学习嵌入式掌握CPU必不可少。

    四、实践

    实践是检验真理的唯一标准。对一个学嵌入式的新手来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还是搞不清这些指令起什么作用,也许用不了几天就会觉得枯燥乏味以至于半途而废。

    所以学习与实践结合是一个很好的方法,边学习、边演练,循序渐进,这样用不了几次就能将所用到的指令理解、吃透、扎根于脑海,甚至“根深蒂固”。

    展开全文
  • 物联网设备的控制单元核心就是MCU,也就是常说的单片机。 对于物联网设备,根据开发环境、想制造的设备以及经验的不同,选择不同的控制芯片也就至关重要。 选择单片机的几个依据: 当然对于更为复杂的设备,...

    这部分就是我之前分享过很多的单片机部分,具体可以参考专栏

    https://blog.csdn.net/super828/category_9282215.html

    物联网设备的控制单元核心就是MCU,也就是常说的单片机。

    对于物联网设备,根据开发环境、想制造的设备以及经验的不同,选择不同的控制芯片也就至关重要。

    选择单片机的几个依据:

     当然对于更为复杂的设备,单片机也有对应的升级产品,可以运行linux系统,具备高性能计算能力,完善的I/O 端口,以及配备了网络接口,这使得控制器的能力越来越强。

    下边就介绍几种常用的单片机,以供参考:

    先分享几篇之前总结的文章

     【8位单片机探究】STC89C51与STM8简要对比

    用一个例子说说单片机项目开发流程

    如何更快的学习单片机?  //介绍了我用过的几款

    下边介绍几款开源创客喜欢用的开发板(集成了单片机,并且开发了完善的硬件电路)


    Arduino

    Arduino 是一款可以让没有从事过电子仪器设计和制作的人也能马上着手开发的微控制器主板,有着非常高的人气。它被应用在美术和个人爱好等各种领域,作为一个容易上手的全方位平台受到了人们的喜爱。 

    但是Arduino 这个词指的不单单是微控制器主板, 它还是对Arduino 主板,以及最适合于Arduino 主板的综合开发环境——ArduinoIDE 的统称。Arduino 以“开放硬件”的理念为本,从硬件到软件所有的设计信息都是公开的,衍生出来的各种各样的产品也在市面上销售。 

    Arduino 主板品种和规格繁多,其中最为标准的主板就是ArduinoUNO。数字输入输出端子、模拟输入端子、USB 端口等单纯的I/O 端口都被压缩在了一块小小的电路板上,买到手后马上就能开始
    开发设备。

    另外,这块电路板还能扩展,使用者通过安装一个叫作Shield 的对应器件就能追加功能。只要使用Wi-Fi Shield、以太网Shield、GSM Shield 等,就能轻松搭建出一个用于连接网络的环境。除此之外,市面上还有传感器和具备多种功能的Shield 产品。

    Arduino 最大的特征就在于它开发的简易性。只要用USB 线连接Arduino 主板和PC,开发环境就搭建完成了。编写程序和写入主板则通过Arduino IDE来完成。开发是用类似于C++ 的Arduino 语言来进行的。开发前,Arduino IDE 已经准备了很多的示例代码,有软件开发经验的使用者只要看一看就能大概明白该怎么使用。即使是新手,也有可能在开箱后10 分钟以内做好一个能让LED 闪烁的电路和程序。

    虽然Arduino 有这么多让人啧啧称赞的规格,但它有一个大问题,那就是跟Shield 一起搭配使用的话尺寸也会增大。Arduino 的大小会决定设备的大小。因为将Arduino 用于教育也属于制造Arduino 的一个目的,所以人们很重视其通用性。虽然其结构固然比采用单片机等时要大,但从商品化观点来说,当前要单独使用Arduino 还有些困难。
     

     树莓派(Raspberry Pi) 

    Raspberry Pi 是一款搭载有ARM 处理器的单板计算机,由英国Raspberry Pi Foundation(树莓派基金会)开发。Raspberry Pi的出现无疑给烧得正旺的单板计算机热潮再添了一把火,它也因此而著名,但其实Raspberry Pi 原本是为编程教学而开发的。 

    开发者设计Raspberry Pi 的主要目的都是想把它当作计算机来使用,因此,除了USB 端口、声音影像输入输出端口、以太网端口等输入输出端口外,使用者还能通过microSD 卡等外部存储器来连
    接Raspberry Pi。从搭载了GPU 这点也能看出来,开发者的初衷是把它连接到显示器当作PC 来使用。另外Raspberry Pi 还安装有Debian 类Raspbian 操作系统,标准支持Python。从Raspberry Pi 2 model B 开始,Raspberry Pi 的CPU 就是四核处理器了,并宣布支持Windows 10。作为一个能实现多种应用程序的平台,Raspberry Pi 备受瞩目。

    如果想把Raspberry Pi 当成微控制器主板来用,那么没有模拟输入端子可以说是其一大缺点。虽然和传感器等设备直接连接时需要输入模拟信号(详细情况会在后面说明),但Raspberry Pi 只能接受数字输入方式。为了处理模拟信号,需要通过A/D 转换电路把模拟信号转换成数字信号,并连接到输入端口。虽说市面上也有专用的电路板,不过这样就会增加多余的成本。

     
    英特尔Edison

     

    在物联网开发中具备独树一帜的存在感的就是英特尔Edison,它搭载了具备双核双线程的英特尔Atom CPU,以及100 MHz 的微控制器英特尔Quark。这个主板的亮点在于彻底地改善了专为物联网设备设置的规格。

    跟Raspberry Pi 一样,英特尔Edison 也标准安装了Linux操作系统(Yocto Linux)。除了具备作为PC 最基本的功能以外,它还标准安装了Wi-Fi 和蓝牙4.0。在物联网设备中有两点是必备的,即
    节省空间的设计和连通性的实现。英特尔Edison 极其袖珍,只有35.5 mm×25.0 mm×3.9 mm,但却具备了接通电源就能用SSH 远程登录的功能,对比以往的微控制器主板,英特尔Edison 的性能可谓惊人。

    英特尔Edison 主机带有GPIO 引脚,但因为太小,所以不容易直接开发。英特尔为开发者准备了Breakout Board Kit 和英特尔Edison Kit for Arduino(Arduino 兼容板)两种扩展板,将主机插入扩展板之后就可以进行开发。除了I/O 引脚,扩展板上还安装有SD 卡和micro USB 端口,microSD 端口等,能够轻易地与外部设备相连接。此外,Arduino 兼容板和Arduino UNO 两者引脚的配置基本相同,可以直接装配使用面向Arduino 开发的主板和Shield。

    在软件开发环境方面,英特尔Edison 也准备了多样且方便的环境。

    初学者一开始使用Arduino IDE 入门会比较容易,它是专门为Edison量身定做的。通过USB 线把Edison 连接到PC,就能通过IDE 描述代码,往主板中写入信息,进行调试。对于用Arduino 从事过开发的人来说,开发环境以及所有实现了Arduino 兼容的环境,都是非常容易上手的。

    又因为C 语言和C++ 的交叉编译程序已经公开了,所以只要用于开发的PC 与Edison 在同一个Wi-Fi 网络里,就能通过SSH 把在开发专用的PC 上编译好的执行文件发送给Edison 使用。

    除此之外,英特尔Edison 还标准安装了Python 和Node.js,开发者能够从众多选项中选择符合自己需要的来使用。特别是英特尔XDK IoT Edison,如果想实现一个能用Node.js 来控制硬件的环境,用它是再适合不过了。

    在灵活运用Edison 方面有一点很重要,那就是Edison 的用途不限于原型设计。虽然在开发初期是使用扩展板来进行原型设计的,不过当产品规格在一定程度上确定了,也有望会量产时,通过制作
    产品的连接板也可以直接在产品上安装Edison 主机。从避免发生大规模的规格变更(如在从原型设计到商品化的期间变更处理器)的角度而言,这点非常重要。
     

    微控制器主板间的比较 

     

     

    像Arduino、英特尔Edison 这些都是适用于原型设计,而且在通用性和扩展性的平衡方面表现优秀的产品。而Raspberry Pi 的目标是被当作PC 使用,所以没有能直接指向设备的模拟I/O 引脚。

    但是对于定制最小系统而言,单片机仍然是最佳的选择,可以定制并增加性能。

    展开全文
  • 物联网

    2018-06-25 15:49:00
    1)感知识别层:你应该听说过什么“通过感知识别技术,让物品‘开口说话、发布信息’,是融合物理世界和信息世界的重要一环,是物联网区别于其他网络的最独特的部分。。。”blabla。这些吹得有多响,要实现起来,...

     

    下面是对这个系统的简单的通俗介绍。
    标准的物联网系统可以大致分为四个层面:感知识别层,网络构建层,管理服务层,综合应用层。
    1)感知识别层:
    你应该听说过什么“通过感知识别技术,让物品‘开口说话、发布信息’,是融合物理世界和信息世界的重要一环,是物联网区别于其他网络的最独特的部分。。。”blabla。这些吹得有多响,要实现起来,其实就是通过传感网
    感知识别层位于物联网四层模型的最底端,是所有上层结构的基础。
    在这个层面上,是把成千上万个各种传感器或者阅读器安放在物理物体上,比如氧气传感器、压力传感器、光强传感器、声音传感器等等,形成一定规模的传感网。通过这些传感器,就可以感知这个物理物体周围的环境信息,现在也逐渐兴起利用条形码技术、语音识别技术、RFID(射频识别技术)等等。这时候给人的感觉好像就是这个物体就有点像生物的样子了,能感知。当上层反馈命令时,通过单片机、简单或者复杂的机械可使物理物体完成特定命令。这时候就像个生物了,能感知,也能反应。
    感知到了信息,怎么发送出去让信息得以被利用?这就要通过网络构建层。
    2)网络构建层:
    网络是物联网最重要的基础设施之一。网络构建层在物联网四层模型中连接感知识别层和管理服务层,具有纽带作用,它负责向上层传输感知信息和向下层传输命令,简而言之就是传输数据。
    这个层面上就是利用了互联网、无线宽带网、无线低速网络、移动通信网络等各种网络形式传递海量的信息。
    3)管理服务层:
    这个层面主要就是程序猿和攻城狮的厮杀地。当感知识别层生成的大量信息经过网络层传输汇聚到管理服务层,如果不能有效地整合与利用,那无异于入宝山而空返,望“数据的海洋”而兴叹。管理服务层主要解决解决数据如何存储(数据库与海量存储技术)、如何检索(搜索引擎)、如何使用(数据挖掘与机器学习)、如何不被滥用(数据安全与隐私保护)等问题。
    简而言之,这个层面就是把收集到的信息进行有效整合和利用,而这个层面往往就是物联网的精髓所在。
    4)综合应用层:
    物联网丰富的内涵催生出更加丰富的外延应用。传统互联网经历了以数据为中心到以人为中心的转化,典型应用包括文件传输、电子邮件、万维网、电子商务、视频点播、在线游戏和社交网络等;而物联网应用以“物”或者物理世界为中心,涵盖我们现在常听到比较新鲜的高级词汇比如:物品追踪、环境感知、智能物流、智能交通、智能电网等等。一言以蔽之,物联网应用目前正处于快速增长期,具有多样化、规模化、行业化等特点。
    这些所谓的智能,其实正正是基于感知识别层收集到的、网络构建构建层传输的、管理服务层挖掘利用的信息,然后再把特定信息反馈给基层物体完成指定命令以此实现。

    ---------------------------------------------------我是分界线----------------------------------------------------------

    这样子,应该就不难理解其为何说”物物相连的系统“了吧?物体通过网络上传信息给其他物体,也通过网络从其他物体下载信息,很多时候它通过自身安装的单片机就可以判断是否需要采取行动,然后通过机械完成动作。 这些都不需要人类进行介入,让我们看起来每个物体就像是生物一样,这就是所谓的智能了。

     

     

     

     

    第一天 物联网的基础知识
    1. 物联网入门

    • 怎么理解物联网


    物联网的英语是Internet of Things,缩写为IoT,这里的“物”指的是我们身边一切能与网络相连的物品。并非万事万物,而是特指能够连接互联网的东西,如果衣服,手表,鞋子能够连上网,那就是IoT中所指的物。如果只是蚯蚓,泥土,空气,卫生纸,甚至我正在敲打的键盘(普通键盘),就不能算是物联网中的物。

    能连上网的物,除了要能联网,一个关键的作用就是能够产生有用的信息。如果连上网了,但是不能产生任何有用的信息,那也没有任何价值。

    • 物联网的相关市场

     

    网络安全 服务应用 基于数据分析结服务的应用市场
    分析处理
    • 分析“物”采集到的数据的软件市场
    • 咨询服务,数据深度挖掘市场
    平台 实现“物”的激活即认证 / 计费 / 通信管理的平台服务市场
    网络 通信基础设施 / 通信设备市场 / 通信模块市场
    设备 设备和嵌入式系统市场


    激活物联网市场主要来源于通信模块价格趋向低廉以及云服务的普及。作者举了两个示例,一个是Intel的Edison开发板和微软的Azure云服务。这可能是在日本市场吧。对于中国,我则认为主要因素是“华强北+阿里云”,前者利用ST,TI等公司的MCU,极大降低了物联网开发难度,可以在1周时间开发出物联网产品原型,另一方面阿里云采用极低报价,突进拓展云服务。物联网开发者正处于这一“黄金时期”。

    最后作者也提出,物联网市场今后的重点在于跟各垂直市场加强合作,说白了就是物联网+,会越来越多的物联网产品贴近用户的生活服务中。

    2.物联网所实现的世界

    随着宽带的普及,能搭载在机器上的超低功耗传感器投入市场,无线通信的进步等,都促使着除了PC,服务器和智能手机等传统连接互联网的设备以外,越来越多各种各样的“物”也开始连接物联网。以汽车、家用电器以及房屋为开端。近年,手表,眼睛等饰品也都连上了互联网。
    我们一定想知道,为什么会有那么多设备要有联网的诉求,它们连上网了又会给用户带来哪些价值呢?

    在解释上述问题之前,作者专门说明了M2M和IoT的区别。M2M,顾名思义,就是机器对机器通信,很多人将IoT与M2M理解为同一个意思,其实这是不准确的。论坛上也有小伙伴提出过类似问题,这里正好给予解答。

    M2M是不经人为控制的、机器和机器之间的通信;也就是说,多数情况下它表示的是机器和机器自动交换信息的整体系统。另一方面IoT则大多含有给信息接收者提供服务的含义,它比M2M的概念范围更广。


    简单来说,M2M跟偏重于技术层面,M2M不仅可以通过3G/4G通信实现,也可以通过本地网络中的无线或有线通信来实现。可以说M2M是物联网构建的基础。

    接着,我们再来说说,如果再此基础上把数以百亿计的设备都连上网,又会如何呢?

    以前,人们通过让少数昂贵的工业机械通信,来实现对“物”的远程控制(也就是现在离散/流程工业中常用的控制系统)。今后,人们将更多地以低廉的价格大量生产面向用户的机器,并让这些机器通信。也正因为应用了从这些“物”中获取的数据,各种各样的付玮才如雨后春笋般涌现出来。此外,先进的感测技术的普及实现了人类对现实世界的掌握和预测,通过实时海量地搜集人、物、社会和环境数据,也有望进行新型社会基础设施的构建。(就此话题,再之后的章节,我们还会深入讲解)

    最后作者用一个智能家居的示例来为我们展示了未来物联家庭的设想。



    3.实现物联网的技术要素

    要实现物联网,需要很多技术要素。除了传感器等电子零件和电子电路以外,还包括Web应用中经常用到的技术,以及数据分析等。我这里只简单将作者列举的物联网技术要素做个汇总,详细的内容,会在之后几天给大家细讲。

    技术要素 说明
    设备 设备就是上文中能联网的“物”,除了能联网外一般都会安装传感器这类电子元件。这类设备起着两个作用:
    • 感测(感知+测量),也就是将设备周边环境转换成电信号,比如开关,温湿度之类
    • 反馈(包括可视化,通知和控制3种类型),传感器将数据展现出来或者通过网络上报消息。应用系统对设备下发控制指令
    传感器 传感器就好比人的五官,它是设备上的“五官”将环境物理信号转换成电子信号,内置于设备之中。有一类传感器节点的设备,其自动自身就具备WIFI和蓝牙等联网功能,借助网关可以将数据直接上传到互联网。当然,如果使用NB-IoT这类LWPA通信芯片,则无需网关直接接入互联网。
    网络
    • 把设备连接到其他设备的网络(内部网络,比如传感器设备到网关这一段,蓝牙,WIFI,ZigBee都算是这一类)
    • 把设备连接到服务器的网络(外部网络,比如3G/4G/NB-IoT,或者光纤,网线等。需要注意这一段网络通常是基于IP的,HTTP,WebSocket,MQTT是这段网络的典型应用层协议)
    物联网服务物联网服务有两个作用:一是从设备接收数据以及发送数据给设备;二是处理和保存数据。请一定注意第二点,通常我们对物联网服务理解比较片面,任务就是与设备之间进行数据交换,认为处理和保存数据很简单。其实数据保存到数据库并没有那么简单,特别是在物联网领域,从设备接收到的数据不只有能用计算机简单处理的数值数据,根据实现的内容,还包含图像、语音、自然语音这些很难直接用计算机处理、没有被结构化的数据。这些数据处理起来也和平时一般数据有所不同。数据处理大体上分为批处理和流处理两类。
    简单来说,批处理就是先将数据暂时保存到数据库,然后进行批量处理。流处理则是来接收到数据就立即处理,很多时候只保存处理结果,而不保存原始数据。
    数据分析
    • 统计分析,采用数学方法,将大量收集到的数据进行分析,来明确事务的联系性。有些难理解,举个栗子:通常空调设定的温度与功耗成一定的关系,通过统计大量数据,绘制出一条经验二维曲线,然后根据该曲线设定最适合的阈值。这种统计分析方法人们很早就在使用,通常可以给已知的事物进行推断。
    • 机器学习,则与传统统计方法完全不同。它完全遵从某种学习算法,让机器自行判断下一步该如何操作。比如去年阿尔法狗大战李世石就是机器学习超越人类围棋9段的经典案例。现如今语音识别,人工智能都离不开机器学习。未来物联网随着数据量越来越多,传统的统计分析方法已经无法满足要求,机器学习将会大放异彩。(机器学习领域很广泛,这里就不展开来讲了,如果有同学感兴趣,我会开专题来介绍一下。)


    第一天学习到此结束,留给大家几道思考题:

      • 在物联网相关市场划分中,你能看出华为IoT产品在哪个位置吗?
      • 在物联网技术要素中,你认为哪种技术是你想要做的物联网产品技术短板?

     

     

     

    第二天 物联网的架构

    昨天介绍了物联网基础知识,今天白天有些忙。晚上继续码字。。。。

    要实现物联网服务,说白了其实就是要做好两个功能:

    - 把从设备收到的数据保存到数据库,并对采集的数据进行分析
    - 向设备发送指令和信息。

    物联网的整体结构

    物联网大体上有3个构成要素,设备,网关和服务器。(可能有人说NB-IoT就没有网关,确实如此,但基本上也可以认为基站具有网关的功能)因此分层架构上都可以分为3层,如下表所示:

    整体结构

    服务器(接收,保存和存储数据)
    网络(有线或无线网络)
    网关(连接设备与物联网服务)设备(可直连到互联网的设备)
    设备(不能连接到互联网的设备)



    网关

    物联网使用的设备中,网关负责将将不能直接连接到互联网设备联网。通常网关下可以接很多设备,由于网关硬件越来越强,有高规格的CPU,内存资源,一般都会运行Linux操作系统。同时,还配置有多种接口,USB,WiFi,ZigBee,Ethernet,3G/4G LTE等。下图就是华为AR502系列敏捷网关可以广泛应用于各种物联网领域。(请注意,网关通常都需要外接电源,如果使用电池也会配置太阳能,风能等充电方式)



    网关主要由3种功能构成:

    1. 从设备接收数据
    2. 生成要发送的数据
    3. 把数据发送到服务器

    服务器

    服务器可分为前端 + 后端两部分,前端部分负责数据接收和数据发送,后端主要是处理数据,更细地分包括分解数据,存储数据,分析数据,生成发送指令等。数据处理可以是批处理或流处理(上一章已经介绍过),数据存储一般是数据库,数据库包括关系数据库和NoSQL数据库。(NoSQL数据库不是哪家公司的数据库,是一类数据库的统称。)

    再来讲讲传输协议

    HTTP/CoAPWebSocketMQTT
    HTTP协议提供的是最大众化且最简易的方法。设备用HTTP的GET方法和POST方法访问数据库,把数据存入请求参数和BODY并发送。
    HTTP协议是Web的标准协议,CoAP则是专门针对物联网设计的类似HTTP的协议,其语法与HTTP非常类似,也可以采用RESTful API接口。有兴趣的通信可以去度娘了解。

    举个栗子:

    使用GET方法访问/sensor/temperature获取温度传感器的值,使用POST方法写入阈值等。
    WebSocket是一种通信协议,用于在互联网上实现套接字通信。它实现了Web浏览器和Web服务器间的数据双向连续传输。非常适合于发送语言数据等连续数据,当终端订阅了服务器数据时,需要服务器主动发出数据,WebSocket也是一个很好的通信方式。MQTT(MQ Telemetry Transport)消息队列遥测传输原本是IBM公司开发的协议,现在已经开源了。
    MQTT最大的优势是能实现一对多通信,也称为发布订阅协议。它由3种功能构成,分别是中介(Broker),发布者(Publisher)和订阅者(Subscriber)。中介承担着转发MQTT通信的服务器作用。相对而言,发布者和订阅者则起着客户端的作用。发布者负责发送消息的客户端,而订阅者是负责接收消息的客户端。MQTT交换的消息都附带“主题”地址,各个客户端把这个“主题”视为收信地址,对其执行传输消息的操作。


    关于MQTT协议,其实还有很多有趣的功能,这里就不再深入介绍了。。。。

    协议格式包括XML和JSON,比较而言,XML的格式比JSON更容易理解。但XML字符数较多,数据量较大。由于JSON数据量小,更适合使用移动环境中。还有一种二进制形式的数据格式,MessagePack,这里就不重点介绍了。

    XMLJSON

    123
    20141215
    {"value":123, "date":20141215"}



    今天的重点知识就介绍到这里,其实还有很多与数据库和分布式存储的知识,我这里就没有介绍了。其实你可以发现物联网服务架构其实就是华为倡导的1+2+1,架构本身非常简单,也很容易理解。

    从明天开始,我们就开始分别讲述1+2+1内容了,谢谢大家!

     

     

     

    第三天 物联网设备

    物联网设备与一般设备最大不同在于其具有连通性,今天我们的任务是深入学习物联网设备相关知识。

    设备结构

    物联网设备五花八门,当其结构一般都如下图所示。物联网设备跟普通的机械产品一样,都包含用于检测用户操作和设备周边环境变化的输入设备,提示某些信息或者直接作用于环境的输出设备,以及作为设备的大脑来负责控制机器的微控制器等。



    微控制器

    MCU是一块控制机器的IC芯片。它能够编写程序,并根据描述的处理读取IO状态,或者向连接上的电路输出特定信号。与PC中的芯片不同之处是,他通常集成度更高,会同时包括CPU,内存和外围电路。如下表所示:

    微控制器
    CPU 内存 外围电路
    - 运算处理
    - 硬件控制
    - 临时存储数据
    - 存储执行项目
    - 计时器
    - A/D转换
    - D/A转换
    - 各种I/O端口(port)



    现在大部分电子产品都搭载有微控制器。特别是近些年,32位的微控制器成本逐渐降低,已经开始取代传统的8位单片机了。特别是如今需要将设备接入到网络,对微控制器主板以及编程环境要求也逐渐降低,很多从来没有摸过硬件的开发者,通过连接一些标准的外围I/O设备,很容易做出很多物联网产品。

    与网络相连

    这几年,智能设备风刮遍了大江南北,只要是能连上网络的设备都会冠以“智能”之名。为什么连通性对产品如此重要?物联网会带来哪些改变呢?
    传统无法联网的设备一旦出了库就没法再变更商品规格了,所以需要花大把时间和成本来开发产品。而对于物联网产品,由于连通性。一方面,可以将设备内部结构简化,将一部分计算功能移到云端,形成一体化服务。通过网络,还可以随时轻松进行固件升级,同时增强云端服务能力;另一方面,硬件开发本身的成本竞争正在不断激化,设备开发必然会促进设备自身的高级化。而围绕设备开发,将服务整体作为一个生态系统来进行最适宜的设计规划,其重要性不言而喻。这一点看看iPhone手机生态的发展就能理解了。

    无线通信也是近年在物联网产品中研究得重点,特别是可穿戴设备,无线+低功耗是产品成败的关键。

    开源硬件

    Arduino主板是一款可以让没有从事过电子仪器设计和制作的人也能马上着手开发的微控制器主板,有着超高的人气。(我手头上也有好几块)利用其IDE开发环境,和可扩展的大量Shield,只需要花费几十块就能搭建出一个用于连接网络物联网小玩意。


    谈到开源硬件,还有一个不得不提。那就是大名鼎鼎的树莓派,他搭载有高性能的ARM处理器,可以直接运行Linux操作系统。同时配有丰富的外设,USB,HDMI。活脱就是一台迷你PC的节奏。售价上要比Ardunio贵一些,但最近国内有很多山寨开发板,什么香蕉派,桔子派。。功能详相近,成本更低。非常适合物联网新手学习。


    为了狙击ARM在物联网领域的拓展,Intel也不甘示弱,推出了专门针对物联网的Edision开发板,集成了WiFi,蓝牙4.0等多种协议。还兼容Ardunio扩展,安装Python和Node.js和专用的XDK IoT Edison开发套件。我只能感慨,Intel煞费苦心推动物联网真是不遗余力啊。


    最后关于硬件原型设计,作者谈了很多开发心得,包括注意事项,如何将应用程序与硬件最佳整合等。这方面知识,以后有机会我再专门开专题来介绍,大家如果对硬件还意犹未尽,可以转入到Huawei LiteOS分论坛,在那里你一定可以找到更多志同道合的人。

     

     

     

    第四天 先进的感测技术

    在前面的章节中,传感器的概念是“用来获取温度或湿度等纯数据的点子零件”。随着零件的小型化和高性能微处理器的出现,市面上出现了具备先进能力的传感器。这类传感器能轻松地获取那些原来难以当成数据来处理的信息。这样的传感器与其说是零件,不如说是狭义上的设备。今天将给大家介绍一些这类功能先进的新型传感器。

    先进感测设备和系统

    开始之前,我们先来回答这个问题:先进的感测设备到底是什么呢?简单来说,就是将多个传感器和处理器组合在一起,从而获取更复杂信息的新型传感器。传感器已经不再是一个电子零件,而是一个具备强大信息获取能力的、更方便的物件。

    这样说可能大家难以明白,举个栗子好了。很多年前,大家所处小区是否有安装声控开关灯的?那个时候我也觉得很神奇,拍拍手或者咳嗽一声,灯就会自动亮起来,当人从楼梯走后,灯会自动熄灭。可是这类传感器太不智能,当打雷或者外部有狗叫时,也傻瓜式得亮起来。那个灯内置的传感器就是很普通的声控传感器,它并不智能,无法判断是人的声音还是其他物体的声音。因此,这类设备很快就退出了历史舞台。现如今,已经出现非常先进的可以检测人行为的传感器,可以感应到人进入房间,并自动控制开启照明设备。这样的设备,我们就称之为先进的感测设备。先进的感测设备可以比传感器感测更多的信息。

    RGB-D传感器

    此传感器可以测量拍照物与人之间的距离,比如可以自动测量房间大小和家具尺寸,也可以实现我上面举例的人体行动识别。相对于传统的测距传感器,它可以获取任何点的距离位置信息,如下图所示,每个像素都含有距离信息,那就可以将人物轮廓勾画出来。具体实现机制,我这里就不讲了,可以去找原书了解。

    RGB-D.jpeg

    自然用户界面

    上面将的RGB-D传感器最著名的应用就是微软公司的XBox 360 Kinect体感游戏机,人们可以不用遥控器,便能控制游戏中的人物。这就需要传感器高精度地捕捉人的动作和行为。

    Kinect.jpeg

    全球卫星定位系统 - GPS

    这个其实我不说,现代人应该都知道。车载导航都会用到这一技术,它是一种利用人造卫星测量位置的传感器。原理这里就不讲了,有些复杂。我们只需要记住需要探测到4颗或以上卫星,才能较为精准的定位即可。

    gps.jpg

    由于GPS卫星发送信号会衰减或者阻拦,在室内效果就不太好了。因此也有人利用GPS原理开发了IMES(室内通信系统),有兴趣的同学可以去找相关的文章进行知识补充。

    WiFi定位技术

    众所周知,WiFi已经普及到家庭,办公室等各种场所,而WiFi定位技术也在不断发展中。通常有两类技术

    1、接收信号强度

    利用WiFi的信号强度来定位,当接收到的信号越强,就说明离无线电波的发射地越近。如果部署多个WiFi发射热点,就可以通过信号强弱差异来判定位置。但在实际中,由于使用环境的影响,无线电波强度会由于反射等众多因素的干扰,导致强度与距离比例关系失效,定位精度不理想。

    2、指纹定位

    WiFi定位.png

    在房间内设置数个WiFi热点,将各个地点的信号强弱情况记录下来,在实际定位时,手机通过从记录地点进行匹配从而获取位置信息。这个方法要事先测量,比较费工夫。据说误差可以小于1m。

    Beacon

    近年来还有一种定位技术很热门,它也是利用了接收信号的强度,叫做Beacon。它使用了BLE技术,iPhone和Android都推出了对应的技术方案,iBeacon和AltBeacon。

    目前用得较多的场景是在购物中,通常在商品货架上安***eacon发射器,发送器或发射BLE标准的信号,包括事先订好的ID。到店的顾客手机打开专用的应用,靠近商品时,既可以被推送商品信息。如下图所示,在一个美术展览馆用这个来进行导读确实是个不错的主意。(其实目前很多景区利用二维码就能实现这一功能,美术馆可能不允许拍照,蓝牙技术要更适合一些。)

    beacon.jpeg

    在物联网世界,位置信息是非常重要的。在很多场合下,位置信息是至关重要的比如物流行业,优化运输路线,检测水文数据,海啸地震等。通过引入这些先进的感知设备,物联网所能发挥的作用远远超出我们的想象。

     

     

     

    第五天 物联网服务的系统开发

    物联网系统化就是应用传感器等各类设备来形成一个持续解决问题的机制。也就是说,不只用传感器进行测量,还通过对测量数据的监测和分析来发现能量损耗,预测机器故障,从而创造出新的信息和价值。而且,系统化并非暂时性的,在成本和应用的基础上生成一个持续运行的机制才是系统化。


    以上是作者对物联网服务系统化的理解,我则一直认为一个好的物联网服务一定在商业或者社会效益上是封闭且正向循环的。也就是说,通过采集到的数据,可以提升效率,从而又能影响原始数据,并能够产生经济效益,促使其不断裂变。

    但在实际的物联网服务中,很难说清导入了服务是否能取得成效。这就是物联网开发者所遇到的最大困难。其系统开发远比一般Web开发更广泛。就算是小规模的物联网服务,也需要多方面的知识。除了在服务器端运行的应用程序外,还需要掌握构成设备的硬件、嵌入式软件、连接设备与传感器的网关、无线通信技术和网络等多方面知识。在任何一个技术环节上出现哪怕是一点点问题,都可能导致物联网服务的难产或者难以拓展。

    物联网系统开发的特征

    物联网服务一定是与设备(物)相挂钩的,设备是构成物联网服务的主体,所以物联网系统存在其独有的特征:

    1. 易于增加所管理设备的数量

    物联网服务由传感器终端等多台设备及集合这些设备的网关终端构成。根据应用状况,这些设备的种类或终端的数量往往会不断增加。

    例如在办公大楼或是商业楼层中,对温度、湿度、二氧化碳浓度等进行环境感测时,楼层的场所不同,测量到的值也有差异,因此不能光感测楼层的某一处,还要对多个场所进行感测,这样一来就需要在一个房间里设置数个传感器终端。

    2. 设置在人们平时无法触及的地方

    办公室和商业设施的设备和网关大多都设置在平时人们无法触及的屋顶或者墙壁等处,因此应用这些设备并不容易。如果需要更换设置场所或者变更终端内的软件,不仅需要请求设备管理者进行更换,还需要与设置场所的管理人员协调日程。

    3. 存在无线通信部分

    数据通信路径上利用的是无线通信,包括传感器终端和网关之间通信使用的接入线路,也利用了3G/4G等无线通信技术。在物联网服务建设中,人们会更多地选择无线通信。这也要考虑,无线通信的通信品质较低,设备有可能会因为障碍物的设置等现场环境的变化而连接不上通信线路,线路也有可能会因为周边无线电波的干扰而变得不稳定。

    物联网服务的系统开发流程

    流程.png

    验证假设阶段

    此阶段进行的是效果验证和技术验证,效果验证通过构建小规模的原型和导入服务来验证,技术验证的目的则是实现物联网服务。前者利用物联网设备感测到的数据,分析创造出的信息是否拥有与成本相符的价值。除此之外,通过让使用者使用原型系统,还能探讨使用情景等需求。



      • 要点如下:



    选定设备

    • 整理设备需求
    • 调查、调配、试做设备,验证设备的运行情况
    • 设计设备的设置
    • 设计设备的维修与使用

      服务的原型开发与使用
    • 选定运营商网络
    • 开发网关和服务器端系统的原型
    • 从设备和系统的测试运行中提炼问题

      验证导入效果
    • 验证传感器和驱动的导入效果



    系统开发阶段

    此阶段基于验证假设环节的原型开发和验证结果来调配在实际环境中将要用到的设备,以及进行服务器端系统的开发。特别是,在使用服务的过程中很有可能要追加设备和设置地点,或是涉及获取数据的存储容量和存储时间等数据使用方面的内容,所以非常有必要跟多个利益相关方进行磋商。如果要把事先验证阶段就预见原型在实际环境下的运行,确保系统的品质,设计出一个易于追加设备的系统。

    维护应用阶段

    在应用管理设备的过程中不仅要监测和修复设备异常,还要根据设备的运行情况更改设备设置参数、修理或更换设备,以及追加新设备等。


    • 监测设备的状态,变更设置,修理或更换设备
    • 追加新设备
    • 监测系统状态
    • 运用积累的数据
    • 采集和应用数据



    作者在书中专门介绍了一个案例,由于内容较多,这里就不再说明了。有机会开专门的帖子来讲解一个案例。

     

     

     

    第六天 物联网与数据分析

    *昨天好不容码完字,提交的时候突然报错,所有写的前功尽弃。 只好今天重新来过了。

    配备传感器的设备连接到网络,主要的目的就是采集数据。但是,如果只是采集数据,不进行任何处理,那就只是将一对庞大的数据聚在一起而已,不产生任何价值。为了实现真正的物联网服务,需要从采集到的数据中分析出有价值的数据。只有通过对数据进行分析,才有可能掌握机器的运转情况,才能提前了解病人的身体异常。这样才能把整个物联网服务从一个单纯的采集数据的行为升华到一项创造附加价值的服务。

    如果不谈传感器数据的类别,只按分析目的来区分,分析大体上可分为 3 种:

    可视化
    • 电力监控
    • 掌握位置
    • 监控运转情况
    发现
    • 检测故障
    • 检测失窃与否
    • 发现疾病
    预测
    • 预测需求
    • 预测交通量



    1. 可视化

    1.1 采集分析

    采集分析就是把数据加工, 以人类能够直观理解的形式来表现数据。采集分析是最简单的一种分析方法,但其顺序和之后要讲的高级的分析方法是共通的,一般情况下都需要进行如图所示的处理流程。



    1.2 数据采集

    就如字面意思那样,数据采集就是采集用来分析的数据,并将这些数据以文件的形式保存到数据库中。

    首先根据需求利用 SQL 或搜索工具来获取这些数据, 再将这些数据读取到电子制表软件中,将其转化成 CSV格式,最后用 R 语言等统 计分析软件进行处理。

    1.3 预处理

    预处理,就是把“数据采集”采集到的数据中没用的多余数据剪切掉。 除此之外还包括对数据实施一些处理, 将其加工成有意义的数据。

    1.4 采集

    采集指的是以数值数据为基础,计算如总数、平均值、方差、分位 点(包含中位数)等统计数值。此外,电子制表软件中附带的数据透视表功能也是人们非常熟悉的一个用于执行采集分析的手段。

    1.5 图表举例

    统计结果的表示方法多种多样,有单纯用表形式来表示的,也有用平均值或方差这样的指标来表示的,下图是几种常用的图表形式。




    2. 高级分析

    2.1 数据挖掘工具

    现代高级数据分析方法大多数情况下都是用编程语言的库,以及专用的分析工具来执行的。



    说到编程语言,近来Python和R语言尤其引人注目。这两种语言包含很多有关分析的库,用很简单的描述就能执行很多分析。而专业的分析工具,例如 Weka 和 KNIME 等工具能基于 GUI 执行 分析,这类工具叫作数据挖掘工具。数据挖掘工具能够借助图标和箭头 指向的方向来查看数据处理的流程,因此其特点在于即便是新手也很容易上手。

    2.2 分析算法

    发现分析则以从数据中提取更复杂的倾向、规则、结构等信息为目的。因此发现分析采用高级的分析手法,不用数值来表现分析结果,而是用像数学公式和规律这样的“模型”来表现倾向。



    2.3 预测

    发现分析的目的是从数据中找出复杂的倾向和因果关系,并将其转化***类的知识。相对地,预测分析则是基于找出的规律和构造来推测今后会发生的事。

    预测分析并没有特定的方法, 既有像回归分析这样预测数量的分析, 也有像类别分类这样, 在给出了未知样本的情况下进行分类的分析。特别是机器学习使用的方法都是一些在基于过去的数据进行学习的基础上,来预测和判断新数据的方法,所以一般来说,这些方法不仅能发现知识,还能进行预测。

    目前业界最热门的分析方法为“回归分析”,这里就不展开来讲了。

    数据分析内容很多,有机会再仔细讲解。我们这里只需要大致了解一下原理即可。

     

     

     

    第七天 物联网与可穿戴设备

    今天太累,先占个空,明天补上。
    可穿戴设备是这两年一个很有趣的话题,很多不了解物联网的同学,一提到可穿戴设备就读物联网有个概念了。可穿戴设备,顾名思义就是指穿戴在身上的设备。比起前几天说的设备,可穿戴设备跟贴近人们的生活,智能手表,智能手环,智能运动鞋等等都属于这个范畴。今天的任务就是回答以下问题:

    • 可穿戴设备都有哪些种类?
    • 应该用什么样的可穿戴设备
    • 应该怎么用?
    • 使用可穿戴设备都能做些什么?


    谷歌眼镜算是可穿戴设备的鼻祖了,它是典型的以“人”为本的输入输出设备。可以将人所看所感信息上传到物联网服务,然后物联网服务会对这些信息进行分析,并将分析结果再次返回给可穿戴设备。从而对人的生活起到帮助作用。



    因此,我也非常赞同作者对可穿戴设备的定义,它并非是类似手机的新一代智能设备,而更多是与物联网相关,性质完全不同的另一种设备。由于是一种穿戴在身上的设备,它能够理解“何时”,“何地”,“何人”,”何种状态“等信息。它一定是能够理解穿戴着周围”语境“的,并通过信息提示和预警等手段来进行反馈。比如,假设我们正在逛商场,想买件衣服。在这种语境下,智能眼镜等可穿戴设备会帮助识别我们正在挑选的衣服,显示该件衣服在其他店的价格以及其他用户对该衣服的评价等信息。


    可穿戴设备市场

    目前智能手表/手环是可穿戴的热点产品,从设备角度看,有以下发展趋势:1)小型化,超省电;2)自然语言输入,如语音识别;3)与其他设备联动。

    可穿戴设备功能

    作用功能能做到的事
    向设备输入信息摄像头拍摄图像和影像,识别图像
    语音识别使用语音进行输入和控制
    手势控制使用手势操作各种设备
    设备发来的反馈显示信息将文本、图像、影像等显示在显示屏上
    通知利用语音和显示屏通知穿戴者
    其他上网能够连接到网络,传输数据,在云端实施对数据的加工等
    存储离线存储数据



    可穿戴设备的种类不同,具备的功能也不同,但与输入相关的主要 包括 3 种功能,即摄像头、语音识别和手势控制。可穿戴设备的摄像头和智能手机的不同,人们不需要用手去选择这 项功能,只要想拍,就能立即拍摄图像和影像。

    可穿戴设备上配备的典型传感器

    传感器概要
    GPS获取可穿戴设备(穿戴者)的位置信息
    9 轴传感器(加速度、 陀螺仪、电子罗盘)通过三轴加速度传感器、三轴陀螺仪传感器和三轴电子罗盘传感器来测量可穿戴设备的直线加速度和角速度,用电子罗盘传感器来确定可穿戴设备的方位
    心率传感器用脉搏传感器(后续内容有介绍)来测量血管反射出的光线的 变化,测量穿戴者的心率。另外还有应用了心电波形传感器的心率传感器
    亮度传感器测量可穿戴设备(穿戴者)周边的明暗,用于控制显示器的亮度等
    红外线传感器测量红外线,将温度可视化的传感器,主要用来检测人在可穿 戴设备附近作出的手势和眨眼等动作
    近距离传感器用于检测物体是否已靠近,主要用于检测用户是否穿戴了可穿 戴设备



    可穿戴设备分类



    以上是按穿戴位置分类,也可以按照传输方式分类(短距WiFi,蓝牙,长距NB-IoT)

    可穿戴设备的应用

    1. 消费者应用情景

    有较多消费者使用可穿戴设备,特别是使用腕带型运动追踪器在物联网服务上进行健康管理。现在健康管理已经成了消费者们使用可穿戴设备的一个主要原因。我就有个小米手环,每天除了可以记录我的运动量外,还可以检测我的睡眠质量。此外,主要有以下几个方面:

    • 获取医疗数据
    • 生活记录
    • 体感游戏
    • 导航



    2. 用于企业领域

    可穿戴设备上配备有各种各样的功能,人们也期望能将其应用到企业领域。特别是智能眼镜这种能解放双手的设备,即使在无法使用双手的状况下也能操作设备。因此那些在无法使用双手的状况下还需要浏览 与工作有关的信息的行业,如制造业和物流业,就对此类设备大有需求。

    • 辅助接待
    • 远程操作支持
    • 操作训练
    • 不需用手也能确认操作手册
    • 确保可追溯性
    • 辅助挑选货物



    这两年google glass已经进化成VR/AR领域,有兴趣的同学可以留言,我们回头专门开个章节来介绍VR/AR。今天就先写到这里,明天是最后一个章节,希望大家捧场。

     

     

     

    第八天 物联网与机器人

    这篇本来应该还是昨天写的,为什么推迟到今天才码字呢?主要原因是,这章给了我很多启示。我之前一直没有明白机器人其实很早就有了,特别是这两年火的不得了的工业机器人(富士康?),让我觉得机器人其实更物联网没啥大关系,应该更多是与人工智能相关吧。不知道读者是否也有这样的感受,如果以前真是这样想的,花几分钟看看这最后一篇,了解一些物联网与机器人的未来吧。

    机器人——设备的延续



    上图取自书中的机器人结构,与一般设备相同,都是有输入设备,控制器,输出设备组成。从这个角度来说,机器人算是一种高度集成了各式设备的机器。说直白写就是将能自动控制的设备集大成者。下图是特斯拉机器人组装工厂的一角,是目前最先进的工业机器人。他们能够协同工作,完成一辆汽车的组织。



    请注意,我上面用词“协同”,对就是这个词,它是与我们相像中的机器人最大不同之处。再看看下面这张图,它是国内某知名电商的物流配送中心。以前从货架挑选商品这项工作一直是靠人工完成,但现在的机器人利用物联网技术可以实现商品配送的全自动化。以前认为机器人都是由集中控制系统(SCADA)来进行控制,但现如今机器人利用物联网技术,已经具备端侧自行控制。比如物流配送中心的机器人,接收到订单后,会自己查找相应的物品位置,然后通过扫描路线标记,自己快速移动到货架,然后根据货架上的标记,取下所需要配送的物品。然后自行移动到发送的打包流水线上。如果只是一台设备其实用不用物联网技术到没有关系,但是如果几百上千台这样的机器人呢?就必须让他们自行交流,自行控制了。(我有些明白物联网在机器人领域中的作用了:D )



    构建机器人的关键

    要想把各种设备和传感器组合在一起, 并由此构建一个机器人系统,需要克服繁多的问题。

    • 需要高效利用机器人专用的中间件

      器人开发是一项需要高度整合各种各样设备的工作,如果要从零 开始开发机器人系统,那么在技术上、时间上、金钱上都需要投入相当 巨大的成本。 针对这点, 人们将机器人需要的各类软件要素总结在一 起,开发出了专门用于机器人的中间件。通过有效使用这类中间件,人 们就能够实现高速开发、提升可维护性,以及与外部系统灵活联动等。
    • 要高效利用网络环境

      正如前文所介绍的仓库管理机器人,这些机器人很少单独进行某项操作,而是接收外部发来的信息和命令,将这些信息和命令加以组合来执行任务。为了做到 这点,我们也需要把机器人连接到网络,就像把前面说的那些物联网设 备连接到网络一样,另外还需要准备一个环境来使用那些存在云端服务器上的资源。



    机器人专用中间件

    开发者在实际构建机器人时,面临的最大难题是如何把多个构成要素整合为一个整体系统。此时能够帮助我们的就是机器人专用中间件。

    项目概要
    设备输入输出控制程序,用以生成信号来控制电机
    电机控制用于输入输出传感器和电机信号的 API
    语音识别把语音转化成文本的功能
    图像识别用于从图像提取面部和特殊信息的功能
    任务执行管理从传感器信息和识别结果出发,执行事先注册好的任务
    软件包管理解决中间件模块依赖性的功能



    目前专用的机器人专用中间件有 RT 中间件和 ROS 两种。前者有开源版本的OpenHRP3,后者是Robot Operating System缩写,是一个在欧美地区广泛应用的机器人开发开源平台,可以说是当今世界应用最广泛的机器人开发平台。这些内容与物联网关联不大,是一全新的体系。有机会我们再聊。

    连接到云端的机器人

    物联网就是把设备连接到互联网,当云计算和机器人技术合二为一后,就成了新的“云机器人”。哈哈,我终于搞清楚物联网和机器人的关系了,以前产线上的设备通常由PLC这类控制器编程后在很小的范围进行设备控制。现如今以下物联网技术快速发展,创造了全新的物联网机器人。

    • 网络的低成本化和高速化 -> 高速无线通信、光通信
    • 大数据处理能力的成熟 -> Hadoop、Spark、Storm、Deep Learning
    • 机器人技术的开放 -> RT中间件、ROS



    物联网技术的引入,使得云机器人能够做到很多的事情。



    物联网和机器人的未来

    各类用于构建机器人系统的开源软件的出现(如 RT 中间件和 ROS)急剧降低了以往机器人开发中存在的额外负担。除此之外,云机器人正在成为一门向复杂环境中(例如,我们的家庭中)导入机器人时不可或缺的技术。

    同时机器人如何在复杂环境中工作,是当下机器人发展的重点,也是物联网技术所擅长的。前面几天讲述的物联网技术在机器人领域同样存在,因此想玩好机器人一定少不了物联网技术。

     

    展开全文
  • esp8266教程 零基础入门学用物联网 基础知识篇(1)

    esp8266教程 零基础入门学用物联网 基础知识篇一

    • esp8266利用WiFi联网时有三种工作模式:

    • 接入点模式:
      在这里插入图片描述

    • 无线终端模式:
      在这里插入图片描述

    • 混合模式:
      在这里插入图片描述
      2.http协议:请求——响应
      在这里插入图片描述
      (1)http请求由三部分组成,分别是:请求行、请求头、请求正文。

    • 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议版本,格式如下:Method Request-URI
      HTTP-Version CRLF。
      在这里插入图片描述

    • Method:请求方法(所有方法全为大写)

    • Request-URI是一个统一资源标识符;

    • HTTP-Version表示请求的HTTP协议版本;

    • CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。

    各个请求方法的解释如下:
    GET 请求获取Request-URI所标识的资源 (1.0)
    POST 在Request-URI所标识的资源后附加新的数据 (1.0)
    HEAD 请求获取由Request-URI所标识的资源的响应消息报头 (1.0)
    PUT 请求服务器存储一个资源,并用Request-URI作为其标识(1.1)
    DELETE 请求服务器删除Request-URI所标识的资源 (1.1)
    TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断(1.1)
    CONNECT 保留将来使用 (1.1)
    OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求(1.1)

    • 请求报头 请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。

    常用的请求报头 Accept
    Accept请求报头域用于指定客户端接受哪些类型的信息。eg:Accept:image/gif,表明客户端希望接受GIF图象格式的资源;
    Accept:text/html,表明客户端希望接受html文本。
    Accept-Charset请求报头域用于指定客户端接受的字符集。eg:Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。
    Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。eg:Accept-Encoding:gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。
    Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。
    Authorization请求报头域主要用于证明客户端有权查看某个资源。当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。
    Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的(发送请求时,该报头域是必需的) eg: 我们在浏览器中输入:http://www.guet.edu.cn/index.html。浏览器发送的请求消息中,就会包含Host请求报头域,如下: Host:www.guet.edu.cn。此处使用缺省端口号80,若指定了端口号,则变成:Host:www.guet.edu.cn:指定端口号 User-Agent
    User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。不过,这个报头域不是必需的,如果我们自己编写一个浏览器,不使用User-Agent请求报头域,那么服务器端就无法得知我们的信息了。我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息。

    (2)在接收和解释请求消息后,服务器返回一个HTTP响应消息。 HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文.
    状态行格式如下: HTTP-Version Status-Code Reason-Phrase CRLF

    • HTTP-Version表示服务器HTTP协议的版本;
    • Status-Code表示服务器发回的响应状态代码;
    • Reason-Phrase表示状态代码的文本描述。

    状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
    1xx:指示信息–表示请求已接收,继续处理
    2xx:成功–表示请求已被成功接收、理解、接受
    3xx:重定向–要完成请求必须进行更进一步的操作
    4xx:客户端错误–请求有语法错误或请求无法实现
    5xx:服务器端错误–服务器未能实现合法的请求

    常见状态代码、状态描述、说明:
    200 OK //客户端请求成功
    400 Bad Request //客户端请求有语法错误,不能被服务器所理解
    401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    403 Forbidden //服务器收到请求,但是拒绝提供服务
    404 Not Found //请求资源不存在,eg:输入了错误的URL 500 Internal
    Server Error //服务器发生不可预期的错误
    503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常 eg:HTTP/1.1 200 OK (CRLF)

    展开全文
  • “看不见”的物联网是何方神圣? 在1991年,美国MIT提出物联网概念,早期的物联网是指依托RFID技术和设备,按约定的通信协议与互联网结合,使物品信息实现智能化识别和管理,实现物品信息互联、可交换和共享而形成的...
  •  情况恶化的是,物联网新手可能没有很多基于MCU平台的硬件开发背景。 API,编程,硬件和软件兼容性以及监管许可和其他障碍的学习曲线可以转化为数周或数月的工程工作,只是为了创建功能原型。  因此,附近大多数...
  • 这个时候一份正确的系统化学习路线规划就很有必要了,这份是阿里淘系P8架构师制定的一份学习路线,非常适合新手入门。 Java入门学习必备学习资料(大厂内部笔记) 笔记一共分为三个部分: ①Java基本功 ②Java面向...
  • 第2步:获取开发者免费资源 选择“开发者”—>“开发者资源”—>“资源”—>“IoT专区(点击直接跳转)”,开通IoT业务(开发者资源可以免费使用,但是创建项目以及连接的设备有限,适合新手学习使用)。...
  • 接触和使用arduino将近10个年头了(到2019年底),说来惭愧,这麽多年基本上没有系统学习arduino,全是野路子的使用方法。近期在 得到app 上学了学 梁宁 增长思维30讲 相关课程突然觉得自己也该总结总结了,于是启用...
  • 尚观物联网嵌入式入门经典教程,资料丰富,适合新手入门学习嵌入式,本想免费分享,但设置不了,只能设置最小资源分2积分
  • 物联网之旅 目录物联网之旅一、oneNET篇二、硬件篇1.1 ESP8266 一、oneNET篇 二、硬件篇 1.1 ESP8266 https://blog.csdn.net/private_void_main/article/details/78947831 ...基于8266WIFI...
  • 利用华为的物联网平台、设备端的开发驱动、在10分钟内实现设备的联网和数据的云端交互 必读内容: 一个简单的物联网系统,包含了设备端、平台端和应用端,其中设备端就是指本地的嵌入式测量系统,一般需要和传感器...
  • 而是我讨厌复杂的电路图,更讨厌焊板子,因为我是一个手残党,再简单的东西让我动手做,我都做得非常糟糕,而对于一个做出来的东西我又在乎美观度,所以干脆就不学习了,尽管我在自动化专业学习了四年,可是我的电路...
  • 新手小白学习嵌入式系统怎么学?嵌入式学习路线

    千次阅读 多人点赞 2019-02-20 16:50:33
    那么想进入嵌入式行业,新手小白学习嵌入式系统怎么学呢? 众所周知嵌入式人才短缺原因之一是由于嵌入式门槛高,需要有一定的嵌入式软件开发经验和嵌入式硬件开发经验,熟悉ARM或其他微处理器架构或可编程逻辑器件的...
  • java程序员如何进行物联网开发

    千次阅读 2021-03-18 14:40:58
    树莓派作为它作为全新的物联网开发方式,其的家族越来越强大,从1A到当前的4B系统列为主,另外还有zero系列,计算模块,不久前推出了pi pico开发板,其价格比较低,适合各种人学习从儿童编程到开发者都可以使用,儿童...
  • 更重要的是除了开发板外,我们还提供调试好的mcu源代码,手机app安卓,IOS源代码,入手即可开发物联网项目,更是新手学习之利器!据多年开发经验写了从零快速开发教程,同时本教程将持续更新新的技术。 一键配网,...
  • 先看一下项目规划,一览之后将要学会的物联网技巧。关键点还是会放在从单片机开始到云端处理的数据链路。 先说硬件吧,这个最简单。先去淘宝上买了个20块包邮的人体秤,撬开它即可(零妖后续如果出套件,你就不需要...
  • 新手如何学习Java语言

    2019-06-21 15:41:18
    首先,当前Java语言依然是IT行业内应用非常普遍的编程语言之一,就业岗位...对于新手来说,要想学好Java,苏州学码思小编提醒大家应该注重以下几个方面: 第一:正确理解Java的各种“抽象”。学习Java就是学习各种...
  • 新手初识安信可ESP8266 12f机智云开发板微信直连云

    万次阅读 多人点赞 2016-10-07 15:31:37
    第一次接触esp8266开发板,也是一脸懵逼,一方面网络上的...新手入门让我抓狂了两天。我使用的是安信可esp8266 12f开发板。先不建sdk的开发。首先先让我们来认识一下这一块板子,然后烧烧固件玩玩。 下面是官方的简介
  • 关于物联网固件的分析,涉及的东西还是很多的,可能某个领域的小伙伴会专门去攻击他web方面的漏洞,通过这个角度来找到信息泄露,远程执行的一些漏洞。但是完整的固件分析并不是这么片面,涉及的东西还是很广的。 ...
  • 物联网数据采集涉及到大量设备接入、海量的数据传输,EMQ X 物联网消息中间件与 ClickHouse 联机分析 (OLAP) 数据库的组合技术栈完全能够胜任物联网数据采集传输与存储、...
  • 六大主流物联网硬件终极大比拼!

    千次阅读 2020-02-25 16:18:23
    一文详解主流物联网硬件平台。作者 | Jeffrey Lee译者 | 弯月,责编 | 屠敏出品 | CSDN(ID:CSDNnews)物联网硬件是每个连接项目的核心。随着物联网的发展,这些主板的技术力只会越来越强大。然而,由于...
  • 本文以常见物联网使用场景为例,介绍了如何利用 EMQ X 消息中间件与开源数据可视化方案 InfluxDB + Grafana ,将物联网设备大量基于时序的数据便捷地展示出来。在物联网项目中接入平台的设备数据和存储方案以下特点...
  • 我是江南大学物联网工程专业2011届从2014年5月底,
  • 而我未来的学习方向又有哪些呢? Python是是一门通用的语言。它是少有的一种可以称得上既简单又功能强大的编程语言。你会惊喜地发现Python语言是多么地简单,一个名为Guido van Rossum的荷兰大佬在19...
  • 大家好,在这篇文章中,我们将学习怎样利用蓝牙技术攻击来攻击智能蓝牙灯泡。为了轻松一点,我将这篇文章分为两个部分。在第一部分,我们将学习基本的蓝牙理论,在第二部分,我们将实际使用这些理论。 让我们开始吧...
  • 来源:36氪概要:在过去一年多的时间里,关于初创企业失败以及安全问题令人担忧等报道内容一直笼罩着物联网行业。在过去一年多的时间里,关于初创企业失败以及安全问题令人担忧等报道内容一直笼罩着物联网行业。但...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,427
精华内容 970
关键字:

新手学习物联网