无线技术
一、概览
| 技术 | 频率 | 速率 | 距离 | 功耗 | 场景 |
|---|---|---|---|---|---|
| Wi-Fi | 2.4/5/6 GHz | 11Mbps-9.6Gbps | 100m | 高 | 局域网 |
| BLE | 2.4 GHz | 1-2 Mbps | 10-100m | 极低 | 可穿戴、健康 |
| LoRa | 433/868/915 MHz | 0.3-50 kbps | 2-15 km | 极低 | 远距离 IoT |
| NB-IoT | 蜂窝 | 26 kbps | 10km+ | 低 | 蜂窝 IoT |
| Zigbee | 2.4 GHz | 250 kbps | 10-100m | 低 | 智能家居 |
| Thread | 2.4 GHz | 250 kbps | 30m | 低 | 智能家居 |
| Z-Wave | 908/916 MHz | 100 kbps | 30m | 低 | 智能家居 |
| 5G RedCap | 蜂窝 | 150 Mbps | 广 | 中 | 工业 IoT |
| LTE-M | 蜂窝 | 1 Mbps | 广 | 中 | 资产追踪 |
二、Wi-Fi
1. 模式
- STA(Station):作为客户端连接 AP
- AP(Access Point):作为热点
- P2P / Direct:Wi-Fi Direct
2. 工具
# 主机端:hostapd + wpa_supplicant + iw
apt install wpasupplicant hostapd iw
# 扫描
iw dev wlan0 scan | grep SSID
iwlist wlan0 scan
# 连接
wpa_passphrase "SSID" "password" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
udhcpc -i wlan0 # busybox DHCP
dhclient wlan0 # 一般 DHCP
3. 嵌入式库
- wpa_supplicant:通用
- wpa_supplicant + nl80211:现代
- ConnMan:连接管理
- NetworkManager:桌面级
4. AP 模式
hostapd /etc/hostapd/hostapd.conf
# 配置信道、SSID、加密
5. 设备树
&usdhc2 {
pinctrl-0 = <&pinctrl_usdhc2>;
#address-cells = <1>;
#size-cells = <0>;
non-removable;
bus-width = <4>;
status = "okay";
brcmf: wifi@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
三、BLE(蓝牙低功耗)
1. 协议栈
- Host:GATT、ATT、L2CAP
- Controller:HCI
- Profile:BLE Mesh、Heart Rate、...
2. 工具
bluetoothctl
hciconfig hci0 up
hcitool lescan
gatttool -b MAC -I
3. 库
- BlueZ:Linux 官方
- glib + gdbus
4. GATT 服务示例
// gatt-server.c
#include <bluetooth/bluetooth.h>
#include <bluetooth/gatt.h>
static gatt_service_t *thermometer;
static uint8_t temp_value[2] = { 0x00, 0x00 };
static ssize_t read_temp(struct bt_conn *conn,
const struct bt_gatt_attr *attr,
void *buf, uint16_t len, uint16_t offset)
{
return bt_gatt_attr_read(conn, attr, buf, len, offset, temp_value, 2);
}
static struct bt_gatt_attr attrs[] = {
BT_GATT_PRIMARY_SERVICE(BT_UUID_THERMOMETER_HEALTH_THERMOMETER),
BT_GATT_CHARACTERISTIC(BT_UUID_TEMPERATURE, BT_GATT_CHRC_READ,
BT_GATT_PERM_READ, read_temp, NULL, NULL),
};
bt_gatt_service_register(&thermometer);
4. 嵌入式 BLE
- Zephyr:完整 BLE 协议栈
- NimBLE:Apache Mynewt
- Nordic SoftDevice:nRF5x
四、LoRa
1. 特点
- 远距离(数 km)、低功耗
- 速率低(适合少量数据)
- 433/868/915 MHz
- LoRaWAN:MAC 层协议
2. 芯片
- Semtech SX1276/SX1262
- ASR6601
- STM32WL
3. Linux 驱动
- 通过 SPI/串口连接模组
- 自定义字符设备驱动
- 上层用 librlorawan / chirpstack
五、Zigbee
- 802.15.4 协议
- 自组网 Mesh
- 智能家居主流(小米、Aqara)
嵌入式栈
- Zephyr:Zigbee 协议栈
- zigbee-ncp:协调器
六、NB-IoT / LTE-M
- 蜂窝网络
- 直接上云(华为云、移动 OneNET)
- 模组:Quectel BC95、移远 BC260Y
AT 命令
echo -e "AT+CFUN=1\r" > /dev/ttyUSB2
echo -e "AT+CEREG?\r" > /dev/ttyUSB2
echo -e "AT+CSQ\r" > /dev/ttyUSB2
七、GPS / GNSS
- UART 输出 NMEA
- 解析:
gpsd/ 自实现
cat /dev/ttyUSB0 | head -50
$GPGSV,3,1,11,18,87,050,46,22,56,250,49,21,55,122,49 ...
八、嵌入式天线
- PCB 天线(最低成本)
- 陶瓷天线(小体积)
- 外置天线(最强)
FCC/CE 认证时天线有要求。
九、调试工具
- 协议分析仪(BLE Sniffer、Wi-Fi Sniffer)
- 频谱分析仪
- 各地无线法规