查看“首页”的源代码
←
首页
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 常用技术栈 == === 可连接TCP/IP的物联网设备 === 开发物联网设备时,无论设备是通过WiFi、2G/3G/4G/5G或以太网连接网络,如设备支持TCP/IP,通常采用[[MQTT]]作为主要通信协议。 除了主要通信协议,通常物联网设备还需要支持NTP对时,有时还需要使用到Http作为辅助协议。<br> === 带交流计量功能的设备 === ==== 单相SOC方案 ==== 对于单相计量(即常见的家用电)设备,通常采用SOC方案: * [[RN8211B]] * [[HT502X]] 此类SOC通常可以使用内置的模块完成包括计量功能在内的大部分需求,在某些情况下也可开发高精度的直流计量设备。<br> 如需与其它设备进行交互,通常还需要添加通信模块或者使用串口通信。<br> 若使用串口通信,本人常用[[Modbus]] RTU作为具体协议,将具体的硬件资源映射为线圈(可读写的位)、输入线圈(只读的位)、保持寄存器(可读写)、输入寄存器(只读)。<br> * [[SimpleModbusRTUPacket]] ==== 单相非SOC方案 ==== 若由于需要采用低成本导致计量部分相对于强电非隔离,而设备上又需要输出隔离接口时,通常采用非SOC方案+串口/SPI口隔离,常用芯片方案: * [[RN8209]] 此方案需要另外加一个主控芯片。 ==== 三相非SOC方案 ==== 若待计量的电路为三相电路,常用芯片方案: * [[RN8302B]] 此方案需要另外加一个主控芯片。<br> 注意:截至编辑时,尚未发现三相SOC方案。 === 带有特殊功能的路由器/WIFI网关 === 芯片方案: * [[MT7688]] 软件开发方案: * [[ openwrt ]] 在内核设备树(dts)配置中使能需要使用的标准接口,并在openwrt的menuconfig中选中对应的kmod包后,即可使用Linux用户程序(非内核模块)操作硬件设备。<br> 对于SPI、I2C与UART而言,用户可通过打开/dev目录下的相应字符设备即可使用。<br> 对于GPIO而言,可使用sysfs文件系统目录:/sys/class/gpio目录进行GPIO操作。<br> == 常用芯片及模块 == === 常用芯片及核心模块 === {| class="wikitable sortable" |+ 常用芯片及核心模块 |- ! 芯片/模块名称 !! 说明 !! wiki(若有) |- | RN8211B || 单相计量SOC || [[RN8211B]] |- | HT502X || 单相计量SOC || [[HT502X]] |- | Air724UG || 4G模块,进行C语言开发 || [[Air724UG]] |- | ESP-12F || WIFI透传模块,可支持二次开发,主芯片为ESP8266 || [[ESP8266]] |- | ESP-32S || ESP32模块,可支持WIFI、蓝牙、以太网,可采用esp-idf开发 || [[ESP32]] |- | TB-01 || W600开发板,WIFI SOC,Cortex-M3内核 || [[W600]] |- | TB-08 || W800开发板,WIFI/蓝牙 SOC, XT804内核 || [[W800]] |- | CH579|| 以太网、蓝牙、USB SOC,Cortex-M0内核MCU || [[CH579]] |- | HLK-7688A|| MT7688芯片核心模块,可采用openwrt开发 || [[MT7688]] |- | E18-MS1|| CC2530芯片核心模块,可采用contiki开发或者Z-Stack开发 || [[CC2530]] |} <br> 注意:此章节可能不包含资料较多,应用极其成熟的芯片系列,如STM32<br> === 外设芯片及外设模块 === {| class="wikitable sortable" |+ 外设芯片及外设模块 |- ! 名称 !! 说明 !! 接口 !! wiki(若有) |- | RN8302B || 三相计量芯片 || SPI || [[RN8302B]] |- | RN8209C/RN8209D || 单相计量芯片 || UART/SPI || [[RN8209]] |- | NRF24L01+ || 2.4G无线芯片,具有众多兼容替代(如Si24R1) || SPI+GPIO(中断、CE) || [[NRF24L01+]] |} == 常用软件 == 本章节不包含工具类软件(如集成开发环境、编译工具链等)。<br> {| class="wikitable sortable" |+ |- ! 名称 !! 说明 !! wiki(若有) |- | FreeRTOS || 嵌入式操作系统 || [[FreeRTOS]] |- | rt-thread || 物联网嵌入式操作系统 || [[ rt-thread ]] |- |nuttx||嵌入式操作系统||[[nuttx]] |- |paho.mqtt.embedded-c|| MQTT客户端,可移植到各种芯片平台||[[paho.mqtt.embedded-c]] |- |openwrt||操作系统,嵌入式Linux构建工具||[[ openwrt | openwrt]] |} ==常用工具== {| class="wikitable sortable" |+常用工具 |- !名称!!说明!!wiki(若有)/链接地址 |- |easy-rsa||使用SSL/TLS时,自签证书制作/管理工具||[[easy-rsa]] |- |buildroot||嵌入式Linux构建工具||[[buildroot]] |- |debootstrap||Linux系统根文件系统创建工具,可创建Debian系Linux系统根文件系统||[[debootstrap]] |- |crosstool-ng||交叉编译工具链创建工具||[[crosstool-ng]] |- |ScreenToGif |在Windows下录屏制作gif的工具 |https://github.com/NickeManarin/ScreenToGif.git |} ===IDE环境/开发环境/开发工具=== {| class="wikitable sortable" |+ !名称 !说明 !wiki(若有)/链接地址 |- |codeblocks |免费的C/C++ IDE,可开发多种C/C++程序。本人只要将它用作基于CMake构建的工程的代码编写。 |http://www.codeblocks.org/ |- |Microsoft Visual Studio |微软的开发工具集。本人主要用于开发WIN32程序。本人优先使用codeblocks作为C/C++开发环境,VS占用的空间太大,但有些第三方库在Windows上可能只支持MSVC,故而必须使用VS。 |https://visualstudio.microsoft.com/zh-hans/ |- |keil5 |用于ARM嵌入式芯片的开发。注意:keil5不是免费的。 |https://www.keil.com/ |- |IAR |本人主要使用针对ARM嵌入式芯片的开发。注意:IAR不是免费的。 |https://www.iar.com/ |- |QtCreator |用于创建基于Qt的程序。 |https://www.qt.io/product/development-tools |- |MounRiver |基于Eclipse的嵌入式ARM/RISC-V的集成开发环境。本人主要用于测试[https://www.wch.cn/ WCH]的单片机。 |http://www.mounriver.com/ |- |RT-Thread Studio |一站式的 RT-Thread 开发工具,通过简单易用的图形化配置系统以及丰富的软件包和组件资源,让物联网开发变得简单和高效。本人主要用于开发与rt-thread相关设备。 |https://www.rt-thread.org/ |} ===小工具(自写/修改)=== {| class="wikitable" |+ !名称 !说明 !wiki !支持平台 |- |CC3200_GangGenerator |生成用于烧录CC3200 SPI Flash的工具 |[[CC3200_GangGenerator]] | *Windows |- |WMToolHelper | W600烧录工具 |[[WMToolHelper]] | *Windows *Linux (ubuntu 20.04) |- |WinBleTool | Windows下调试BLE的工具 |[[WinBleTool]] | *Windows 10(及以上) |- |SimpleBLETool |调试BLE的工具 | [[SimpleBLETool]] | *Windows 10+ *Linux(ubuntu 20.04+) |- |cutecom-ng |基于Qt5的串口工具。个人修改版。 |[[cutecom-ng]] |只要是Qt5支持的桌面平台均支持。 |} == 常用库 == 此章节主要对使用的比较多的库做一个整理。 {| class="wikitable" |+ !名称 !官网 !说明 !Wiki |- |wxWidgets |https://www.wxwidgets.org/ |跨平台GUI库 |[[wxWidgets]] |- |Qt |https://www.qt.io/ |跨平台库(包括GUI) |[[Qt]] |} ==常用镜像站== 再找各种源码资源时,经常遇到国外网站下载较慢的情况下,此时通常需要更换镜像站。 例如: *ubuntu系统的软件包(包括使用deboostrap的镜像源) *python软件包 *gnu软件源码包 *linux源码 {| class="wikitable" |+ !地址 !说明 |- |http://mirrors.ustc.edu.cn/ |中国科学技术大学镜像站 |- |https://mirrors.tuna.tsinghua.edu.cn/ |清华大学镜像站 |- |http://mirrors.163.com/ |网易开源镜像站 |- |http://mirrors.aliyun.com/ |阿里开源镜像站 |} ==相关链接== *[[测试资源]] *[[方案发现与探索]] *[[杂项笔记与测试代码]] *[[常见问题]]
返回
首页
。
导航菜单
个人工具
登录
命名空间
首页
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息