IoT開發(fā)環(huán)節(jié)中,可能用到多種編程語言。以LoRaWAN為例权烧,我們列舉一下主流開源項目使用的語言慧瘤。
設備端
設備端編程主要是MCU編程。主要使用STM32/STM8/MSP430/AVR等MCU讨阻。由于ARM mbed/Arduino的參與,大多數(shù)低功耗Cortex和第三方MCU架構都可以用于設計設備。
- C for STM32, gcc-arm-none-eabi, IAR/Keil
- C for STM8/MSP430, gcc
- C++, AVR/STM32, Arduino, gcc
- C++, ARM mbed, gcc-arm-none-eabi
- MicroPython, STM32
- Lua, STM32
網(wǎng)關端
網(wǎng)關端硬件由于WiFi的參與咧纠,ESP32/8266系列會成為主體,而ESP32/8266和STM32的編程語言同樣豐富:
- C for STM32
- C for ESP8266/ESP32
- C++泻骤,STM32/ESP8266, Arduino
- MicroPython, STM32/ESP8266/ESP32
- Lua, STM32/ESP8266/ESP32
除了STM32/ESP8266/ESP32漆羔,還有一種平臺就是OpenWRT,這種平臺的開發(fā)語言和通用主機類似狱掂,包括:C/C++/CPython/Lua/Ruby/Node.js演痒。
網(wǎng)絡交換機
主流的兩個網(wǎng)絡交換機分別使用了Erlang和Golang來設計。也有Python的版本趋惨,當然本質(zhì)上啟用其他語言另起爐灶也一樣鸟顺。從運維角度看,我們只需要pull一個容器下來就好了器虾。不應該關心細節(jié)了讯嫂。