作者 | 苏宓

责编 | 苏宓

微信公众号ID | csdn_iot

万物互联时代,随着国外的谷歌、微软,国内的阿里、华为、百度等诸多行业巨头纷纷入局,物联网迎来的新的浪潮,将更多的商机及机遇呈现出来,无数创业者及开发者纷至沓来,希望从中可分一杯羹。然而在庞大的物联体系之下,云计算、大数据、人工智能、传感技术、安全问题无一不是亟需克服的难点,且身为一名开发者,我们应该掌握哪些技术栈、怎样选择合适的开发利器、如何将移动、云、终端整合?

7 月 1 日,由 CSDN 出品的「【在线峰会】一天掌握物联网全栈开发之道」在 CSDN 学院隆重召开,本次峰会邀请到 WRTnode 创始人罗未、Ruff CTO 郑晔、ThoughtWorks 软件开发工程师黄峰达、阿里巴巴研发工程师刘彦玮、前飞利浦半导体资深工程师刘凯、叶帆科技创始人兼 CEO 刘洪峰 ,投资银行网络安全开发工程师李知周这几位一线技术大牛,基于 JavaScript、Python 前沿物联网开发技术,详勘物联网架构、技术栈、应用开发平台、安全等实战经验。

在公众号后台回复“峰会”,查看视频回播,下载讲师PPT。

1

现代物联网应用系统构架与技术栈

首先是来自 WRTnode 创始人罗未,分享了物联网技术现状、开发者所需关注的技术点,并以 WRTnode 的 node.system 为例,实践代码解析软件定义物联网方法。

罗未表示如今的物联网技术碎片化移动,交付周期长。目前诸如 Android Things、LiteOS、MiCO、TinyOS、Contiki 等物联网操作系统多达 50 种,且一个厂商的一个芯片自带一套开发框架,最终直接导致硬件开发周期慢。因此物联网技术迫切需要在效率、分工、工具、共享等方面做出相应改变,更加快速高质量的进行交付。

而作为开发者所需要做的事是更好的自身提升技能:

  • 大前端:JavaScript;

  • 新后端:MQTT、OTA;

  • 设备端:

    • 物联网芯片: MT7697、MT8788、ESP32

    • 开发技术:操作系统、开发框架

对于软件如何定义物联网,罗未以 node.system 为例,使用 JavaScript 为所有不同的 SoC 和不同的操作系统提供统一的开发框架。

物联网项目与互联网项目工程技术上最大的不同是供应链,所以开发者要对供应链抱有正确的认知。

2

IoT 应用开发 —— 选择开发平台的正确姿势

物联网开发平台那么多,对于入门级的 IoT 开发者来说该如何抉择?郑晔表示在 IoT 应用开发领域中,熟知的开发平台主要有:

  • 嵌入式操作系统:VxWorks、FreeRTOS、LiteOS、mbed 等;

  • 极客硬件平台:树莓派、Arduino 等;

  • JavaScript IoT 应用开发平台:Ruff、Tessel、JerryScript、Johnny-Five 等。

对于嵌入式操作系统,它的入门门槛极高,开发者需要学习大量软硬件相关的知识,同时嵌入式领域在开发方法上已经大幅度落后于整个行业的发展,此外它的编程概念通常属于专用领域,因此知识很难在行业中共享,开发者在行业中流动也相对困难。

极客硬件平台虽然简化了入门难度,但开发真正困难的部分在编

程概念。且这些平台只解决了原型开发的问题,开发者即便能够通过它实现了一个产品原型,也很难将它用到真正的产品中。

由此更高级的开发语言应运而生,诸如:

  • 在硬件上运行 JavaScript:JerryScript、Espruino 等;

  • 面向应用的硬件抽象:Tessel、Johnny-Five、Cylon.js 等;

  • 提供生产支持:Ruff。

演讲中郑晔对以上的平台进行了详细的对比,并基于采用 JavaScript 语言、设计硬件抽象、提供生产支持能力三大标准教会开发者衡量了 IoT 开发平台。

3

基于 JavaScript 语言的快速物联网开发架构

随着 JavaScript 语言的流行,及物联网领域的崛起,我们可以二者结合所带来的可能性。黄峰达表示当前的物联网应用,所要做的就是控制和数据处理。对比互联网架构,物联网架构的起点和终点都不一样。

现有的物联网系统主要使用的语言是:

  • 后台服务:Java、Go、Python

  • 硬件端:汇编、C、C++

  • 手机应用:Java、Objective-C/Swift

  • Web 界面:JavaScript

  • 桌面应用:C#、C++

一个基于 JavaScript 的物联网架构不仅囊括了互联网中的 JavaScript 的 Web 应用,还有应用层、协调层、服务层和硬件层。

4

JavaScript 开发物联网应用

架构已学会了搭建,那么接下来使用 JavaScript 开发物联网应用应该如何入手?在开发之前,刘彦玮分享了 MQTT 的概念, MQTT 是一个长连接的通讯应用层的协议,最大的特点是数据精简、消息可靠、publish-subscribe 模式灵活易用。并使用 JavaScript 和 MQTT 实现的一个简单的物联网应用为例。

Github 地址:https://github.com/coolnameismy/javascript-mqtt-demo-wearingTip。

刘彦玮还详细介绍对比了三款常见的 JavaScript 开发版:RaspberryPi、Ruff、nodemcu。最后物联网开发中物联网套件也必不可少,其主要目的是帮助开发者搭建安全性能强大的数据通道,方便终端(如传感器、执行器、嵌入式设备或智能家电等等)和云端的双向通信。

5

从芯片到云端——Python 物联网全栈开发经验教训共享

相对 JavaScript 开发物联网,Python 又有何不同之处?前飞利浦半导体资深工程师刘凯,从 Python 与 IoT 全栈开发、设备端选型、以及设备、网关和服务器端开发五个方面详细展开分享。

IoT 端到端模型如下图所示,其中没有出场的是 Web 前端和移动端。因为物联网项目中的 UI 需求并没有移动互联网那么高,且在应用服务器中,利用响应式框架和 REST API 可以同时支持浏览器和移动端,简化系统设计。从中可以看出,物联网系统最大特点是环节太长,因此团队必须选择一种合适的编程工具。

Python 是物联网系统的胶水语言,在研发过程中可以提供或者用于构建各类工具,降低总体开发与生产难度,提升效率,对于物联网开发价值巨大,但是因为比较分散,所以一直被开发者所忽视。刘凯表示在看法过若干系统之后,定义了一个物联网分布式计算的雏形,所有组件均基于 Python 进行开发。可以用于物联网网关、单机版服务器和分布式服务器集群。取名 EPIC。

6

从端到云,工业物联网项目全栈快速开发

从原型开发到面向工业运用,刘洪峰表示从技术角度来说,民用物联网和工业物联网并没有本质的区别,都是有云,有端,都具备传感器数据采集,设备控制及通信传输等功能。主要的区别在于:

对于工业物联网的全栈开发,意味着开发者要懂硬件开发、各种传感器、云开发、Web 开发技术、手机 App 开发、各种通信技术和数据存取,大数据时代还要求懂数据挖掘和分析。

工控领域大都是集成项目为主,所以二次开发成为主流,技术门槛相对不高,开发平台基本以 Windows 平台为主。本次演讲中刘洪峰基于微软 .NET 技术来详解实现现有的工业物联网产品。

7

物联网安全:转守为攻 使用大数据与机器学习猎杀黑客

未来已经来临,只是尚未流行。 ——威廉吉布森

随着物联网设备的日益增多,安全性问题成为业内最棘手的问题之一。李知周表示如今物联网的安全问题主要是有海量的节点与数据、定制嵌入式系统、受限的处理能力及功耗、升级维护困难、缺乏安全标准、大量初创公司等原因引发。

想要进行安全防护,可从物联网攻击表面;减少攻击表面;物联网设备、网络、数据安全等方面入手。

同时遵循建立监控流程、分析监控数据、发现黑客踪迹、推理黑客行为、猎杀黑客分子、修补安全隐患流程,转守为攻猎杀黑客。重要的是要对智能安全网关进行实时监控。大数据时代,还可以利用大数据流量监控的 DDos 检测和算法生成域名(DGA)检测方法加强物联网安全防御。

在公众号后台回复“峰会”,查看视频回播,下载讲师PPT。

探索最佳物联网全栈开发之道 | 附 PPT 下载相关推荐

  1. 一天掌握物联网全栈开发之道 | 附 PPT 下载

    万物互联时代,随着国外的谷歌.微软,国内的阿里.华为.百度等诸多行业巨头纷纷入局,物联网迎来的新的浪潮,将更多的商机及机遇呈现出来,无数创业者及开发者纷至沓来,希望从中可分一杯羹.然而在庞大的物联体系 ...

  2. 5折倒计时!7位大牛讲解如何一天掌握物联网全栈开发

    当移动红利时代结束,人才需求接近饱和的同时,传感技术.云计算.大数据.人工智能的日益成熟,并与智能家居.智慧城市相融合,将我们带入了真正智能化的物联网时代.那么,作为开发者的我们,又该如何顺势而为? ...

  3. 【线上峰会】如何一天掌握物联网全栈开发之道

    当移动红利时代结束,人才需求接近饱和的同时,传感技术.云计算.大数据.人工智能的日益成熟,并与智能家居.智慧城市相融合,将我们带入了真正智能化的物联网时代.那么,作为开发者的我们,又该如何顺势而为? ...

  4. 未来物联网全栈开发 --JavaScript or Python?

    版权声明:本文为博主杜锦阳原创文章,未经博主允许不得转载,如有侵权将依法追究其法律责任. 目录(?)[+] 先来说说 Javascript 再来说说 Python 未来谁是王者 未来物联网全栈开发 - ...

  5. 【华为出品】物联网全栈开发实战营第2期来啦!送海思开发板

    物联网一直在改变我们生活的方方面面.可穿戴设备有助于监控我们的偏好.习惯和健康状况.智能家居设备可提高家居的舒适度.安全性和便利性.城市利用连接的数字设备收集的海量数据(数十亿个)来改善城市规划.制造 ...

  6. 物联网全栈开发实战系列文章汇总(共865篇,持续更新-2023.05.02)

    物联网全栈开发实战(共865篇) 文章目录 物联网全栈开发实战(共865篇) 1.Arduino单片机系列 1.1 Arduino开发实例(包含各类传感器驱动.通信实例.DIY实例,共114篇) 1. ...

  7. 华为专家带你搞定物联网全栈开发

    华为,一个传奇的公司,身边也有朋友在华为工作,这个跻身世界500强里面前50强的公司,可以说是在行业内响当当,加上自身的优势,和企业文化的熏陶,在国际上都有很高的影响力,尤其是在5G,物联网,通信等领 ...

  8. IoT入门:拆解物联网全栈开发工作

    物联网系统 设备端的开发 不需要网关的设备 需要网关的设备 WiFi类设备 物联网平台开发 业务应用开发 物联网的概念已经被炒了好多年了,奇怪的是:市场中对这个概念的反应总是不愠不火. 随着5G 的迅 ...

  9. python物联网全栈开发实践

    物联网发展的趋势 碎片化 标准化 拟人化 (人工智能) 集成电路,微机电:是物联网终端设备的基础,如同"蛋白质" 创建电源设计为设备长期运行奠定了能源基础,如同"碳水化合 ...

最新文章

  1. hadoop jetty的应用
  2. 成功解决linear_model\stochastic_gradient.py:128: FutureWarning: max_iter and tol parameters have been ad
  3. 科技馆游记(精华)-------- double篇
  4. C语言程序设计 | 指针(二):常量指针和指针常量、数组参数和指针参数、函数指针数组
  5. Flask+uwsgi+Nginx环境搭建
  6. C# Tostring() 格式大全
  7. zotero mac 插入BibTeX条目 快捷键
  8. oracle怎么定义参数函数返回值,Oracle自定义函数记录
  9. sql server 2000(迷你sql2000) jdbc驱动
  10. 信息学奥赛一本通1368 对称二叉树
  11. 用u盘安装mysql,奥维互动地图企业服务器基本环境安装 ——U盘引导安装CentOS 6.5...
  12. UE4蓝图基础04-变量和数组
  13. 2014年数学建模美赛题目原文及翻译[个人思路]
  14. 弱分类器 强分类器(弱学习器 强学习器)
  15. 2021SC@SDUSC Zxing开源代码(十三)Aztec二维码(二)
  16. redis安装(保姆级别)
  17. golang对接支付宝支付
  18. 计算机网络---广域网及相关协议
  19. 《大地》:赛珍珠内心的中国农民形象
  20. openssh升级后使用CRT远程报错:没有兼容的加密程序,服务器支持这些加密程序

热门文章

  1. 存储器金字塔层次结构
  2. BMA250传感器驱动
  3. 接口测试之接口的定义
  4. 关于手机屏幕分辨率与手机浏览器分辨率的差别
  5. 外盘期货交易软件有哪些(十大正规外盘期货)
  6. (未完成)历届国赛题目分析(2006)
  7. 服务器microsoft基本显示适配器,win10显卡被识别Microsoft基本显示适配器安装不了驱动怎么办?...
  8. comsol_multiphysics入门教程
  9. 考研复试资格审查政审是什么?有什么用?
  10. Nginx反向代理与负载均衡