• Beaglebone Black– 智能家居控制系统 LAS


    用 Windows 来刷 ESP8266 固件有很多中文教程,来试试直接用 BBB 刷吧。目标是 NodeMCU,ESP-01 可用,就是我买的那个。

    接线方式在上一篇。当 echo ‘BB-UART2’ > /sys/devices/bone ….. 之后,ttyO2 可用,测试能连接后可以动手(比如用我上一篇博文那愚蠢的做法,或者下载个 minicom。注:minicom 是按 AT 然后回车再按 ctrl-J,它回答 OK 就是正常连接了)。其实这只是确保我,或者你,没插错引脚。

    固件工具

    首先需要刷固件的软件,esptool,git clone 它下来。

    git clone https://github.com/themadinventor/esptool.git

    image

    进去 esptool 文件夹,伟大的作者已经做好了安装脚本,setup.py,这样用:

    python setup.py install

    它会自动完成必须的动作。

    固件档

    搞定了工具,还要下载固件。NodeMCU 的固件发布在 github,可以在这里查看:https://github.com/nodemcu/nodemcu-firmware/releases/

    下载可以用你电脑下,然后 scp (windows 的话 pscp,putty 带有的 copy 命令),又或者,直接在 BBB 下载。我选后者,这样操作:

    wget https://github.com/nodemcu/nodemcu-firmware/releases/download/0.9.6-dev_20150704/nodemcu_float_0.9.6-dev_20150704.bin

    image

    接线与刷新操作

    万事俱备,只欠GPIO0 接 GND。Flash ROM 需要把 GPIO 0 拉低,接 GND。接上后重启(BBB 和 ESP8266,关掉再打开,BBB中需要再次 echo ‘BB-UART2’ > /sys/devices/bone…..)。

    然后  ./esptool.py -p /dev/ttyO2 -b 115200 write_flash 0x00 ~/nodemcu_float_0.9.6-dev_20150704.bin

    image

    一分钟搞定。然后再次关机,两者都关掉。GPIO 0 刚才拉低的,取消,GPIO 0 线拔掉。再度开机。再度 echo ‘BB-UART2’ > ……

    测试效果

    这次 NodeMCU 了,该用合适的终端了。我用 minicom 。记得,NodeMCU 固件默认 baud 是 9600,minicom –s 调好再进去。

    没显示该有的输入 prompt,唉,那好吧,我主动点跟它打声招呼,hi,然后 >> 输入 prompt 就出现了…. 请无视我随后输入的 wif,我原意是打 wtf …。(注:这一段只是开个玩笑而已…)

    image

    上图我拿些只有 NodeMCU 才有的函数来试试,反应正常了。上图屏蔽了的是 SSID 和密码。print 所显示的是我无线路由 DHCP 分配的 IP、掩码、和当前网关地址。

    刷 ROM 到此为止,成功。

    从 WiFi 模块的 GPIO 直接输出

    不够,用 ESP8266 不止为了接个 WiFi。按照测试惯例,上 LED 灯,用 ESP8266 本身的 GPIO 2 引脚(下图橙色线接着的),接 450Ω电阻,和 LED 灯。

    DSC_0036

    BBB 只是负责给我 TTY 进去 ESP8266,不参与控制不参与电路。

    代码:

    gpio.mode(4,gpio.OUTPUT)

    gpio.write(4,gpio.HIGH)

    gpio.write(4,gpio.LOW)

    image

    说好的 GPIO 2 呢?明明是接着 GPIO 2 引脚为何现在代码是 4 呢?是 PIN 4 代表 GPIO 2 么?不知道,我可是从 0 一个个测试才发现是 4 的… 很无语,但是还好,能用了。

    满足了。实验到此为止。后面,就是写代码,让它接受到特定数据包,再直接控制 gpio 信号。

    重要参考

    esptool https://github.com/themadinventor/esptool
    NodeMCU 官网 http://www.nodemcu.com/index_cn.html
    NodeMCU 论坛 http://bbs.nodemcu.com/
    wget https://en.wikipedia.org/wiki/Wget
    minicom http://linux.die.net/man/1/minicom
    ESP8266 刷固件教程 https://ukhas.net/wiki/esp8266_firmware_update
    NodeMCU 固件 git https://github.com/nodemcu/nodemcu-firmware/releases/
    NodeMCU API 说明 https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_cn

    我在这群里,欢迎加入交流:
    开发板玩家群 578649319开发板玩家群 578649319
    硬件创客 (10105555)硬件创客 (10105555)

  • 相关阅读:
    SQL未能排它地锁定数据库以执行该操作解决
    SQL日志文件丢失,只有MDF恢复
    ASP.Net2.0使用Log4Net(一)
    ASP.NET使用Memcached高缓存实例(初级教程)
    ASP.Net2.0使用Log4Net(二)
    Windows Server 2003域控制器的建立
    什么是SIP?
    [转].NET破解体验 ildasm.exe的使用
    Memcached深度分析(转载)
    X509证书帮助类
  • 原文地址:https://www.cnblogs.com/leptonation/p/5165041.html
Copyright © 2020-2023  润新知