1.1一块ESP8266(如图1)

图 1 ESP8266模块
1.2 一个USB转TTL模块(如图2)

图 2 USB转TTL模块
2.测试ESP8266模块
2.1连接设备
WIFI模块与USB转TTL模块进行连接,连接实物图如图3所示,硬件连线框图如图4所示。

图 3 连接实物图

图 4 硬件连接框图
2.2打开串口调试助手
本次实验使用的软件是XCOM V2.3,默认波特率为115200,停止位为1,数据位为8,校验位为None(如图5)。

图 5 XCOM V2.3
2.3输入测试指令AT
测试AT启动,返回OK (如图6)

图 6 AT测试
2.4复位指令AT+RST
输入AT+RST对WiFi模块进行复位操作,若返回ready代表复位成功(如图7)。

图 7 AT+RST
2.5 设置连接模式
输入AT+CWMODE=mode设置wifi应用模式,返回OK;
mode: 1.Station模式
2.AP模式
3.AP+Station兼容模式
备注,station:客户端,AP:服务器;
本次测试采用Station模式,输入AT+CWMODE=1指令(如图8)。

图 8 AT+CWMODE=1
2.6连接wifi
这里输入AT+CWJAP=“BUNFLY loT studio”,“207207207”,返回OK(如图9)。
指令原型为:AT+CWJAP=<ssid>,<pwd> ,ssid就是wifi的名字,pwd就是wifi的密码。

图 9 AT+CWJAP
完成以上操作,就可以对ESP8266进行AT指令操作。
3.ESP8266操作指令
该操作是将ESP8266当做服务器,同手机或其他设备进行连接,操作步骤如下.
3.1.1设置多连接模式
输入AT+CIPMUX=1,返回OK(如图10)。

图 10 AT+CIPMUX
3.1.2建立服务器
建立服务器(如图11): AT+CIPSERVER=1,8899(8899是端口号,可以改)

图 11 AT+CIPSERVER
3.1.3查询地址
输入AT+CIFSR获取ip地址(如图12),这里我们使用STAIP为该ESP8266的ip。

图 12 AT+CIFSR
3.1.4手机APP连接ESP8266
将手机wifi连接上同ESP8266相同的局域网内,然后打开WIFI串口调试助手,输入IP地址和端口号(如图13),点击确定,当连接上以ESP8266服务器时,页面跳转(如图14),此时手机APP与ESP8266建立连接,进行接收/发送操作,我们通过手机APP向ESP8266发送16进制代码C4 E3 BA C3 D6 D0 B9 FA(你好中国)(如图15)。

图 13 WIFI串口调试助手

图 14 APP收发页面

图 15 串口调试助手接收到APP发送的数据
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?
我正在使用Postgres.app在OSX(10.8.3)上。我已经修改了我的PATH,以便应用程序的bin文件夹位于所有其他文件夹之前。Rammy:~phrogz$whichpg_config/Applications/Postgres.app/Contents/MacOS/bin/pg_config我已经安装了rvm并且可以毫无错误地安装pggem,但是当我需要它时我得到一个错误:Rammy:~phrogz$gem-v1.8.25Rammy:~phrogz$geminstallpgFetching:pg-0.15.1.gem(100%)Buildingnativeextension
我正在尝试使用“updated_at”字段的日期时间范围查询数据库。前端在JSON数组中发送查询:["2015-09-0100:00:00","2015-10-0223:00:00"]在RailsController中,我使用以下方法将两个字符串解析为DateTime:start_date=DateTime.parse(params[:date_range_arr][0])end_date=DateTime.parse(params[:date_range_arr][1])#...@events=@events.where('updated_atBETWEEN?AND?,start_d
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://
我有一个super简单的脚本,它几乎包含了FayeWebSocketGitHub页面上用于处理关闭连接的内容:ws=Faye::WebSocket::Client.new(url,nil,:headers=>headers)ws.on:opendo|event|p[:open]#sendpingcommand#sendtestcommand#ws.send({command:'test'}.to_json)endws.on:messagedo|event|#hereistheentrypointfordatacomingfromtheserver.pJSON.parse(event.d