对于物联网来说,全栈意味着什么?
物联网分为设备端、云端、APP端,所谓三端一体。那么物联网全栈应该是怎么样的范畴呢?
我是一个嵌入式开发人员,当时建立这个仓库时,对物联网全栈的理解是立足设备端,可以将设备接入云平台,并与手机、智能音箱等其它智能设备互联互通的技术栈。那么这样的技术栈可能是下面这样的:
- 熟悉常见嵌入式 MCU 开发
- ST 系列 MCU
- NXP 系列
- TI 系列
- ...
- 熟悉 MCU 内核
- ARM Cortex-M
- RISC-V
- 熟练使用各种外设及外设总线协议
- UART
- IIC
- IIS
- SPI
- SDIO
- USB
- FMC
- 485
- CAN
- 低功耗
- 掌握一种常见的 RTOS
- FreeRTOS
- RT-Thread
- Zephyr
- AliOsThings
- 掌握 Linux 编程
- Linux 内核
- Linux 驱动
- Linux 网络
- 熟练的网络编程,熟悉各种协议栈的应用
- tcp/ip(基本的 socket 编程)
- HTTP
- MQTT
- COAP
- WebSocket
- LWM2M
- 6LoWPAN
- DNS
- MDNS
- SNTP
- TLS
- 网络调试(网络抓包)
- 云平台接入
- 阿里云
- 腾讯云
- 百度云
- 华为云
- 涂鸦
- 小米
- 机智云
- Amazon
- Microsoft Azure
- IBM Watson
- WiFi 相关技术
- 各种 WiFi 配网技术
- BLE 相关技术
- LoRa
- NB-IOT
- 语言技能
- C/C++
- python
- 完成的智能设备接入经验(设备端 + 云端 + APP 端 + 其它智能外设互联)
- 新技术
- 人工智能
- 机器学习、机器视觉
- 目标检测
- 其它
- GUI
以上更多涉及生活物联网,工业物联网、车联网、医疗电子涉及不多。