方案一
操作系统
我们采用OpenWRT作为我们Linux开发的操作系统。
可以被描述为一个嵌入式的 Linux 发行版。OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居。
其不同于其他许多用于路由器的发行版,它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统。
优势:如果对 Linux 系统有一定的认识, 并想学习或接触嵌入式 Linux 的话, OpenWRT很适合。 而且OpenWRT支持各种处理器架构,无论是对ARM,X86,PowerPC或者MIPS都有很好的支持。
开发板
针对选用的OpenWRT,我们选用歪朵拉-NEO型号的开发板。
2.2.1.简介
NEO是一款电子原型平台,硬件基于MT7688AN Wi-Fi SOC,软件基于OpenWrt / LEDE 等Linux发行版,提供了丰富的外设和存储空间。允许使用 C , SHELL , Node.js , Python等语言进行开发。硬件资源如下:
- MT7688AN MIPS CPU 580MHz
- 32MByte FLASH(老批次16MB)
- 128MByte DDR2 RAM
- 150Mbps Wi-Fi 1T1R 802.11bgn
- 100Mbps ETH
- 若干GPIOS
- SPI CS0(FLASH占用),CS1预留
- UART0(默认控制台),UART1,UART2
- PWM0-3
- I2S 全双工
- USB2.0 HOST
- SDIO
- 供电5V,电流110mA左右
- 运行温度:0 - 55 度
设计框图
外围接口介绍
- 板载WI-FI天线,默认发货时WI-FI信号走此天线;
- IPEX天线连接器,可以修改射频电阻来启用此接口,用于连接外置高增益天线;
- CPU硬复位按钮,随时按下即可复位;
- 用户按钮,IO信号对应GPIO38,在Uboot状态下按下可以进入web页刷机状态,进OpenWrt系统后长按超过3秒可以恢复出厂设置;
- 10/100Mbps网卡,对应Port0,默认是LAN口,在路由器模式下用作WAN口;
- FLASH芯片,存储Uboot和OpenWrt镜像,NEO有两种配置:
旧批次W6配置为FLASH为16MB,FLASH为SOP8封装。
新批次W7配置为FLASH为32MB,FLASH为WSON-8封装。 - 复位IC,提供高可靠的上电复位和电压不稳复位(3.3V掉落至2.93V触发复位动作)
- MT7688AN主芯片;
- DDR2颗粒,128MByte容量;
- 音频CODEC芯片,I2S接口,提供音频数字信号和模拟信号的双向转换;
- USB转串口TTL芯片CP2104,用户可省去外置的USB-TTL小板;
- 音频功放输出,一共4pin,正面看左侧2PIN是右声道输出,右侧2PIN是左声道输出,分别可接1个8欧扬声器;
- 耳机、MIC一体化音频接口,支持常见的手机带MIC耳机,例如小米、三星等耳机
- NEO的USB供电口,兼备串口控制台功能;
- 三个LED,从上至下依次是电源指示(红色)、有线网口0连接指示(蓝色)、WI-FI指示灯(橙色);
- NEO的USB-HOST口,可以外接U盘、USB摄像头等等,需要用一条OTG线;
- TF卡槽(背面),用于扩展系统存储或用来存储用户数据。
NEO针脚定义
方案二
操作系统
我们采用LEDE操作系统,因为OpenWRT相对比较老一点,LEDE新。
开发板
核心板HLK-7688A:
- MT7688AN MIPS CPU 580MHz;
- 150M的无线速率;
- 支持802.11b/g/n模式;
- 20/40信道带宽;
- 支持802.11v;
- 支持AP,STA及AP,STA混合模式;
- 5个10/100M自适应网口;
- 1个USB2.0主机接口;
- 多种接口SPI/SD-XC/eMMC;
- 丰富的外设接口,SPI,I2C,I2S,PCM,UART,JTAG,GPIO;
- 广泛应用于物联网
- 内置强大的PMU
- 支持16个MultipleBSSID
- 支持多种加密方式WEP64/128,TKIP,AES,WPA,WPA2,WAPI
- 支持QoS,WMM,WMM-PS
- 支持多种系统,Linux2.6.36SDK,OpenWrt3.10
后续的开发都是基于平台二实现