ocrobot:modules:seed
差别
这里会显示出您选择的修订版和当前版本之间的差别。
前一修订版 | |||
— | ocrobot:modules:seed [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ======OCROBOT SEED (WIFI模块)====== | ||
+ | =====概况===== | ||
+ | OCROBOT SEED 是基于ESP8266芯片平台的一款超低成本的串口WIFI解决方案模块。 | ||
+ | |||
+ | |||
+ | {{: | ||
+ | =====参数===== | ||
+ | ----------------------- | ||
+ | * 802.11 b/g/n 协议 | ||
+ | * Wi-Fi 2.4 GHz, 支持WPA/ | ||
+ | * 具有10-bit ADC | ||
+ | * 具有TCP/ | ||
+ | * +20dBm 输出功率802.11b模式 | ||
+ | * 内置低功耗 32-bit MCU | ||
+ | * SDIO 2.0, SPI, UART | ||
+ | * STBC, 1×1 MIMO, 2×1 MIMO | ||
+ | * 温度范围 -40C ~ 125C | ||
+ | |||
+ | =====固件的简单更新与升级===== | ||
+ | ------------------ | ||
+ | |||
+ | 如何上传新固件到模块 | ||
+ | |||
+ | 首先要按照升级模式来链接硬件 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 很简单的接线,反接TX RX 供电 然后短接中间的两个IO(可以用跳线帽),然后插上USB就进入了升级模式了。 | ||
+ | |||
+ | 下载windows下的升级软件(linux用户看后面的教程) | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 下载此工具,然后根据需要选择固件 | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | 好了,我们以升级官方固件为例来演示,其实所有的操作都是一样的。。 | ||
+ | |||
+ | 解压缩所有的文件,像这样放好 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | 双击这个可执行文件启动下载器 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | 按照要求选择好bin文件,文件名要和后面的存储地址对应,不然会出问题 | ||
+ | |||
+ | 然后下面要选择com口(一定要选择模块的com口号),点击下载START就会开始下载,如果你发现进度条不动,在链接的状态下,拔插一下VCC线重置模块即可。 | ||
+ | |||
+ | |||
+ | [[ocrobot: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====编译环境的建立(固件开发)===== | ||
+ | ----------------------- | ||
+ | ====虚拟平台的搭建==== | ||
+ | |||
+ | 我们需要一个UBUNTU的系统环境,请windows用户下载下面的虚拟机软件,Ubuntu用户请自便 | ||
+ | |||
+ | < | ||
+ | https:// | ||
+ | </ | ||
+ | |||
+ | 然后去Ubuntu官网下载一个Ubuntu, 系统版本由你自己的计算机系统确定,32位的就下载32位 64位的就下载64位 | ||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | 然后使用虚拟机建立一个Ubuntu环境,您可以使用任何你熟悉的虚拟环境,我们以vbox为例。 | ||
+ | |||
+ | 虚拟机的安装我们就不介绍了,下面看创建虚拟机 | ||
+ | |||
+ | 依图创建安装好虚拟机 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 血泪的教训,给8G硬盘是不够的,至少保证12GB | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | 然后在这个位置,选择下载好的UBUNTU 的ISO文件即可 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 然后就启动虚拟机,Ubuntu的安装,大家自己去找教程看看吧。我们不做涉及 | ||
+ | |||
+ | 安装系统需要等待一段时间,可以去喝喝茶,出门晃荡一圈 | ||
+ | |||
+ | |||
+ | ====环境的建立==== | ||
+ | ------------------- | ||
+ | 系统装好后,我们可以按快捷键 | ||
+ | |||
+ | Ctrl+Alt+T | ||
+ | |||
+ | 启动控制台 | ||
+ | |||
+ | 然后用root用户权限执行命令 | ||
+ | |||
+ | 32位系统 | ||
+ | |||
+ | < | ||
+ | sudo apt-get install git autoconf | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo apt-get install build-essential | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo mkdir / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo chown $username / | ||
+ | </ | ||
+ | 其中$username为你系统创建时你建立的用户名,请自行修改 | ||
+ | |||
+ | 64位系统用户执行 | ||
+ | |||
+ | < | ||
+ | sudo apt-get install git autoconf gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-i386 | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo apt-get install build-essential | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo mkdir / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | sudo chown $username / | ||
+ | </ | ||
+ | 其中$username为你系统创建时你建立的用户名,请自行修改 | ||
+ | |||
+ | |||
+ | 然后依次执行以下语句 | ||
+ | |||
+ | < | ||
+ | cd / | ||
+ | |||
+ | git clone -b lx106 git:// | ||
+ | |||
+ | cd crosstool-NG | ||
+ | |||
+ | ./bootstrap && ./configure --prefix=`pwd` && make && make install | ||
+ | |||
+ | ./ct-ng xtensa-lx106-elf | ||
+ | |||
+ | ./ct-ng build | ||
+ | </ | ||
+ | 其中第二个语句是github拷贝数据 | ||
+ | |||
+ | 最后一个构建都是很费时间的,耐心等待, | ||
+ | 去http:// | ||
+ | 检索下载以下文件 | ||
+ | |||
+ | gcc4.8.2 | ||
+ | |||
+ | binutil2.24 | ||
+ | |||
+ | isl0.12.2 | ||
+ | |||
+ | mpfr3.1.2 | ||
+ | |||
+ | cloog0.18.1 | ||
+ | |||
+ | gmp5.1.3 | ||
+ | |||
+ | mpc1.0.2 | ||
+ | |||
+ | 后缀名tar.xx均可 | ||
+ | |||
+ | |||
+ | 然后放到目录/ | ||
+ | |||
+ | 再次**./ | ||
+ | |||
+ | 经过漫长的等待,环境就OK了。 | ||
+ | |||
+ | |||
+ | ====安装SDK==== | ||
+ | ------------------ | ||
+ | 下面我们就要安装SDK了。我们以目前的最新版0.92版本为例讲解,日后可以再后面的资源区下载最新版本 | ||
+ | |||
+ | 点击下载SDK(0.92) | ||
+ | |||
+ | 下载解包后将目录拷贝到 | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | 下载添加一些库文件(依次输入) | ||
+ | < | ||
+ | wget -O / | ||
+ | |||
+ | wget -O / | ||
+ | </ | ||
+ | |||
+ | 再添加头文件 | ||
+ | < | ||
+ | wget -O / | ||
+ | |||
+ | cd / | ||
+ | |||
+ | tar -xvzf include.tgz | ||
+ | </ | ||
+ | |||
+ | 然后下载必要工具 | ||
+ | < | ||
+ | cd ~ | ||
+ | |||
+ | wget https:// | ||
+ | |||
+ | tar -xvzf esptool_0.0.2.orig.tar.gz | ||
+ | |||
+ | sudo cp esptool/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | 这样就完成了系统的搭建 | ||
+ | |||
+ | ====编译代码==== | ||
+ | ------------------ | ||
+ | 来编译一个标准的at固件 | ||
+ | < | ||
+ | cd ~ | ||
+ | |||
+ | mkdir esp_sources | ||
+ | |||
+ | cd esp_sources | ||
+ | |||
+ | cp -R / | ||
+ | |||
+ | cd at | ||
+ | |||
+ | wget -O Makefile https:// | ||
+ | |||
+ | make | ||
+ | </ | ||
+ | |||
+ | 命令就不多做解释了。。反正就是复制代码过来编译出来。会linux的人都能看懂 | ||
+ | |||
+ | 编译完成后就会有两个bin文件,按照文件名的地址位置下载到flash就可以了。 | ||
+ | < | ||
+ | FW firmware/ | ||
+ | FW firmware/ | ||
+ | </ | ||
+ | ====上传固件==== | ||
+ | ------------------ | ||
+ | ===硬件准备==== | ||
+ | --------------------- | ||
+ | 按照下面的图示要求,链接好套件中的CP2102与wifi模块,需要注意的是,短接中间的两个引脚。这样设备会进入固件升级模式。 | ||
+ | |||
+ | ===软件准备=== | ||
+ | ----------------- | ||
+ | 我们需要将硬件USB设备设置到虚拟机中,请看下图操作 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 将usb组件载入到虚拟机 | ||
+ | |||
+ | 我们将会用到一个python语言编写的工具,所以,需要安装Python2.7版本的系统环境(注意!不是python3 他们不一样) | ||
+ | |||
+ | 如果您使用的和我一样是ubuntu比较新的版本的系统,这个是默认包含的,所以不用自己安装 | ||
+ | |||
+ | 如果不是请前往https:// | ||
+ | |||
+ | 还需要一个lib 让python支持串口通讯 | ||
+ | |||
+ | 下载地址:http:// | ||
+ | |||
+ | 下载pyserial-2.7.tar.gz (md5)这个文件 | ||
+ | |||
+ | 解压缩并安装这个包 | ||
+ | < | ||
+ | tar -xvzf pyserial-2.7.tar.gz | ||
+ | |||
+ | cd pyserial-2.7 | ||
+ | |||
+ | python setup.py install | ||
+ | </ | ||
+ | |||
+ | 理论上就能安装好. | ||
+ | |||
+ | 然后我们继续 | ||
+ | |||
+ | 请下载这个文件 | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 自行解压后放到bin文件的目录下(/ | ||
+ | |||
+ | 然后执行以下命令 | ||
+ | < | ||
+ | cd / | ||
+ | |||
+ | sudo esptool.py --port / | ||
+ | |||
+ | sudo esptool.py --port / | ||
+ | </ | ||
+ | |||
+ | 请注意两条下载命令会有进度百分比的过程,就是正常的。 | ||
+ | |||
+ | 特别注意,下载完成0x00000后,要拔掉3v3的IO口,让模块重启,因为模块会自动进入正常模式,这样就不能顺利的进行第二个固件的下载了。 | ||
+ | |||
+ | 最后,下载都会提示" | ||
+ | 请在本文章最后,下载芯片厂家的最新固件 SDK等,我们的固件源码也在最后,根据自己需求来选择使用 | ||
+ | =====IO介绍与接线图===== | ||
+ | ------------------------ | ||
+ | {{: | ||
+ | **标准使用模式接线图** | ||
+ | |||
+ | |||
+ | {{: | ||
+ | **固件升级模式接线图** | ||
+ | |||
+ | 固件升级模式主要区别就是要短接中间两个IO口,芯片启动会自动进入固件升级模式 | ||
+ | |||
+ | =====图片===== | ||
+ | ---------------------- | ||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | =====参考资料===== | ||
+ | -------------------- | ||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | [[ocrobot: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | =====Release Note===== | ||
+ | -------------------- | ||
+ | |||
+ | esp_iot_sdk_v0.9.3_14_11_21 Release Note | ||
+ | |||
+ | 1、Add license documentation of ESPRESSIF SDK | ||
+ | |||
+ | 2、Add APIs to read and write RTC memory, and APIs to get RTC time. | ||
+ | |||
+ | 3、Add APIs to swap UART0 | ||
+ | |||
+ | 4、Add API to read ADC, delete adc.c. | ||
+ | |||
+ | 5、Add API to read spi flash id | ||
+ | |||
+ | 6、Revise struct station_config, | ||
+ | Note: if station_config.bssid_set == 1 , station_config.bssid has to be set, or connection will fail. So in general, station_config.bssid_set need to be 0. | ||
+ | |||
+ | 7、Revise struct scan_config, | ||
+ | Add bss_info.is_hidden in struct bss_info to show if this AP’s ssid is hidden. | ||
+ | |||
+ | 8、Revise struct softap_config, | ||
+ | |||
+ | 9、Revise API “wifi_softap_set_config” to take effect immediately, | ||
+ | |||
+ | 10、Add APIs to set and get physical layer mode(802.11b/ | ||
+ | |||
+ | 11、Add APIs to enable and disable DHCP server of ESP8266 softAP | ||
+ | |||
+ | 12、Add APIs to enable and disable DHCP client of ESP8266 station | ||
+ | |||
+ | 13、Add API to set range of ip address that get from DHCP server | ||
+ | |||
+ | 14、Add APIs to set and get how many TCP connections allowed at max. | ||
+ | |||
+ | 15、Add APIs to set and get how many TCP clients allowed at max to a TCP server. | ||
+ | |||
+ | 16、Revise “wifi_set_ip_info” and “wifi_set_macaddr” to take effect immediately. | ||
+ | |||
+ | 17、Fix some bugs to make the software more reliable. | ||
+ | |||
+ | |||
+ | |||
+ | 1、增加乐鑫SDK license授权文件; | ||
+ | |||
+ | 2、增加rtc memory读写接口,和 rtc校准及获取接口; | ||
+ | |||
+ | 3、增加uart swap接口; | ||
+ | |||
+ | 4、增加adc读取接口,原adc.c中接口不再使用; | ||
+ | |||
+ | 5、增加获取spi flash id接口; | ||
+ | |||
+ | 6、修改station连接参数结构,增加bssid项,支持连接ssid相同,bssid不同的路由; | ||
+ | |||
+ | | ||
+ | |||
+ | 7、修改scan参数结构,可选择是否扫描隐藏ssid的路由,不使用请设为0,扫描结果结构体bss_info中对应增加 is_hidden 参数; | ||
+ | |||
+ | 8、修改softap设置参数结构,增加ssid_len;当 ssid_len 设为0时,读取ssid 直至遇到结束符;否则使用ssid_len长度; | ||
+ | |||
+ | 9、增强接口“wifi_softap_set_config”功能,设置softap参数后不用重启,立即生效; | ||
+ | |||
+ | 10、增加设置、获取phy工作模式接口,可设置为b,bg,bgn; | ||
+ | |||
+ | 11、增加dhcp server启动、停止接口; | ||
+ | |||
+ | 12、增加dhcp client启动、停止接口; | ||
+ | |||
+ | 13、增加dhcp server分配池管理接口; | ||
+ | |||
+ | 14、增加获取、设置tcp连接数接口; | ||
+ | |||
+ | 15、增加获取、设置tcp server允许连接数接口; | ||
+ | |||
+ | 16、增强修改ip、mac接口(“wifi_set_ip_info” 和 “wifi_set_macaddr”),可在任何时候设置,无需重启; | ||
+ | |||
+ | 17、修正一些软件问题,进一步提高软件稳定性。 |