忘记过去,超越自己
- ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
- ❤️ 本篇创建记录 2022-10-13 ❤️
- ❤️ 本篇更新记录 2022-10-13 ❤️
- 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝
- 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
- 🔥 Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志 🔥
【鸟哥杂谈】物联网体系知识梳理
今天不教知识,纯粹属于博哥个人杂谈所想,如有不同看法可忽略。
最近博哥在进行一对一物联网体系知识付费教学培训,发现了很多初学者容易出现的一些误区:
- 1、很多初学者容易陷入
身在深林,只知一木的错觉,很容易在没有理解整个体系结构的基础上就深入其中学习某一点知识。- 2、很多初学者以为硬件就是物联网整个全部,容易忽略后端整个业务逻辑或者无从下手。
- 3、一些参加物联网比赛的同学,对于分工方面没有一个合适的分工。
- 4、一些阅读esp源码的时候无从下手
…
针对这些问题,博哥根据自己对于物联网的理解以及知识教学所整理的资料,给出一些自己的想法。
在我们常见的场景中,结合硬件可以区分为好几类:

这个场景下。
Bluetooth 2.0 2.1(虽然现在慢慢用得少了)。经典蓝牙模块代表:
HC-05与HC-06蓝牙串行端口通讯模块
所以这里就引申出几个学习的方向:
参加比赛的条件下,也能按照上面几个方向去组成合适的团队。

这个场景下。
所以这里就引申出几个学习的方向:
针对ESP32 Ble,博哥讲述了一些知识
经典代表
- 目前市场中SKYLAB的BLE蓝牙模块主要是基于
Nordic方案的蓝牙模块
参加比赛的条件下,也能按照上面几个方向去组成合适的团队。
不管是蓝牙还是网络,有一个概念虽然简单但是非常重要。client/server模型:

客户端发起请求,服务器响应请求。
而在博哥看来,物联网网络模型可以用以下图来概括:

区分为三个端:
它们之间的数据传输通过tcp/ip协议进行。我们接触比较多的就是应用层协议。

tcp/ip协议算是计算机网络的重中之重。
务必认真学习。博哥也稍微写过一两篇。
每一个端都各自有自己的技术栈,参加比赛的时候也可以按照这个端去组成队伍。

比较常见的开发方式包括:
博哥所写过的相关资料:
博哥所写过的相关资料:
计划会写
这里的单片机特指本身没有自带网络功能,比如51单片机、msp系列、stm32等等,而网络模块特指支持网络通信的模块,比如esp8266系列、esp32系列、dtu物联网卡、以太网模块等等
而如果要深入学习esp源码,可以在tcp/ip协议基础上去分类学习。

区分为:
http、mqtt、dns、websocket、ntp以及自己自定义的协议(像onenet的edp协议)https、wss等等所涉及的ssl、tls等等tcp、udp协议LwIP,嵌入式里面非常有名的轻量化TCP/IP协议,在TCP/IP基础上针对嵌入式设备进行了裁剪定制。
应用层、中间层、用户层代码。
说到后台服务,一般我们打交道最多就是巴法云、阿里云、onenet、百度华为等等第三方已经写好的,基本上照着官方文档来学习即可。不管哪个云,一般部署大多数都是mqtt服务器或者http服务器等等。
它们的核心在于:
逻辑处理+数据存储
逻辑处理一般就是对应的服务器代码(mqtt、http逻辑处理),数据存储一般就是mysql、mongdb、redis等等技术。
当你对这些熟悉之后,就可以开始写自己的后台服务器,也叫作自开发服务器。而服务器技术可能包括java、nodejs、python、go等等,但论简单易学以及物联网特性来说,nodejs算是目前博哥比较推荐的,数据库就可以使用mysql。
博哥所写过的相关资料:
当你设备端有了,后台服务器也有了,那么剩下最后一个就是UI界面展示数据。

比较常见的开发方式包括:
推荐学习微信小程序
目前主流技术包括android、ios、flutter、uniapp,对于物联网同学来说,可能uniapp更好,基于vue,这样在学习nodejs这些前端知识的时候可以慢慢统一到web前端技术栈。
对于一些不想花费太多时间的同学,可以使用Node-Red这门图形化技术,相对比较简单。而且学习门槛不高。
博哥所写过的相关资料:
这就是博哥对于物联网体系知识的一些简单梳理,希望能解答一些同学关于学习物联网知识的疑问。并且博哥始终认为,学习物联网,千万不要只看到一张叶子,而放弃了整个森林。
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?
在我的mac上安装几个东西时遇到这个问题,我认为这个问题来自将我的豹子升级到雪豹。我认为这个问题也与macports有关。/usr/local/lib/libz.1.dylib,filewasbuiltfori386whichisnotthearchitecturebeinglinked(x86_64)有什么想法吗?更新更具体地说,这发生在安装nokogirigem时日志看起来像:xslt_stylesheet.c:127:warning:passingargument1of‘Nokogiri_wrap_xml_document’withdifferentwidthduetoproto
一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su
如何使用Capistrano将Rails应用程序部署到无法访问外部网络或存储库的生产或暂存服务器?我已经设法完成部署的一半,并意识到Capistrano没有在我的本地机器上下载gitrepo,但它首先连接到远程服务器并尝试在那里下载Git存储库。我希望有一个类似Javaee的构建系统,其中创建可交付成果并将该可交付成果发送到服务器。就像您构建.ear文件并将其部署到您想要的任何服务器上一样。显然在RoR中,你被迫(据我所知)在该服务器上构建应用程序,在那里创建一个gem存储库,在那里克隆最新的分支等等。有什么方法可以将准备运行的包发送到远程服务器吗? 最佳答
我一直在使用zeroMQ,我希望能够通过Internet安全连接。我在ruby中,可以使用SSL和/或某种shh连接,但找不到有关如何执行此操作的任何示例。我找到了这个旧的stackoverflow链接,HowdoeszeromqworktogetherwithSSL?说他们正在研究某种安全性,但那是一年前的事了,我找不到任何新的引用资料。即使这不是内置在zeroMQ中,我也假设会有一些方法可以使用OpenSSL或类似的东西来设置它。注意:如果您想要安全传输,zeroMQ网站提到使用VPN或其他东西。我不想使用VPN。一定有更好的方法。 最佳答案
跳过联网激活:OOBE界面直接按Ctrl+Shift+F3进入审核模式。这样就可以直接进入系统进行一些硬件测试等,而不用联网激活导致新机无法退货。需要注意的是,在审核模式下进行的一些操作都会保留,并不会在退出后自动还原!安装的软件在正常开机进系统后还会看见!如果电脑确实没连互联网又不想强行跳过OOBE(网上很多教程会叫你直接结束OOBE进程,但这是不推荐的,因为一些厂商自带优化程序和系统初始化设置在后面都会应用,对于笔记本跳过的话你会发现驱动和内置应用都没有装上。其实这部分脚本就在系统盘的Recovery隐藏文件夹下),可以参考以下方式:https://www.landiannews.com/
快速导航(持续更新中…)Cesium源码解析一(terrain文件的加载、解析与渲染全过程梳理)Cesium源码解析二(metadataAvailability的含义)Cesium源码解析三(metadata元数据拓展中行列号的分块规则解析)Cesium源码解析四(Quantized-Mesh(.terrain)格式文件在CesiumJS和UE中加载情况的对比)目录1.前言2.本篇的由来3.terrain文件的加载3.1更新环境3.2更新和执行渲染命令3.3数据优化3.4结束当前帧4.总结1.前言 目前市场上三维比较火的实现方案主要有两种,b/s的方案主要是Cesium,c/s的方案主要是u
如果有人能提供一些关于在没有互联网连接的计算机上安装rubyonrails3.x框架的见解,我将不胜感激。所有教程或解释似乎都假设始终存在互联网连接。有没有简单的方法来下载包含所有依赖项的包并简单地安装包。提前致谢 最佳答案 最后。您需要手动下载的Gem的完整列表,以便在离线模式下安装Rails(或在阻止您的“gem”命令工作的代理之后)。此列表假定您已经拥有以下内容(Windows7):Ruby1.9.2RubyGems1.8.24DevKit列表。转到rubygems.org并使用搜索功能下载以下每个Gem。您不需要键入
Asitcurrentlystands,thisquestionisnotagoodfitforourQ&Aformat.Weexpectanswerstobesupportedbyfacts,references,orexpertise,butthisquestionwilllikelysolicitdebate,arguments,polling,orextendeddiscussion.Ifyoufeelthatthisquestioncanbeimprovedandpossiblyreopened,visitthehelpcenter提供指导。已关闭8年。什么是学习ruby语言
文章目录1简介2绪论2.1课题背景与目的3系统设计详细设计描述3.2硬件部分温度测量电路其他电路部分3.3软件部分主程序子系统程序温湿度程序流程键盘显示子程序3.4实现效果3.5部分相关代码4最后1简介Hi,大家好,这里是丹成学长,今天向大家介绍一个单片机项目基于单片机的智能温控农业大棚系统大家可用于课程设计或毕业设计单片机-嵌入式毕设选题大全及项目分享:https://blog.csdn.net/m0_71572576/article/details/1254090522绪论2.1课题背景与目的近年来我国的温室控制取得了长足的进步,首先在温室群控制方面,进行了初步的探索和理论研究,其次在温室