使用ESP8266连接到Azure
很多同学在问我,ESP8266如何连接到Azure,因为官方只有Spark Fun之类的DevKit(开发套件)出了教程(我只找到了套件的文档)。
先上视频:http://v.youku.com/v_show/id_XMzE3MTg0NDU1Mg==.html
其实SparkFun Esp8266与普通的ESP8266是一样的,文档上也标注了Arduino Compatible(兼容Arduino)
今天就按官方教程教大家用“从淘宝上买来的NodeMCU ESP12N”连接到 Azure IoT
首先先给大家看看我买的板子
搜索NodeMCU,出来的都是ESP12N,非常普遍的NodeMCU型号
我就找了个便宜的买了,16块包邮美滋滋。
你别看上面便的是ESP12N(视频里口误说成ESP-12F),其实它也是ESP8266(ESP8266也有很多种类)
然后我点开了百度
一眼就看到Huzzah ESP8266跟ESP8266 Thing Dev Kit,两个文档我都看了下,大致步骤是一样的,而关键词的直觉告诉我选Spark Fun的可能会好一些。
然后我们跟着文档走
看你们这么懒搜都懒得搜,就给你们一个传送门吧
https://azure.microsoft.com/zh-cn/resources/samples/iot-hub-c-thingdev-getstartedkit/
如果看不懂那就点开Chrome浏览器的翻译,或者点开你的有道词典-屏幕取词,翻译一下总行了!语言不是问题!
我们今天先实现之前做过的AZ3166远程监控的实验(通过网页在线查看传感器数据)
啥?你们看过我之前做的实验?戳这!
http://bbs.wfun.com/thread-1001576-1-1.html
我们接着看文档
软件需要安装Arduino IDE,还有各种库,硬件我们有这个ESP-12N就可以了(要不要PC数据线你这不是废话吗)
然后我们在Arduino IDE里添加并选择我们的版型
点开首选项
将开发板网址(http://arduino.esp8266.com/stable/package_esp8266com_index.json)
填在这里
选中你的开发板,我的是12N,我感觉跟12E差不多,所以就选了
(事实证明选这个没问题)
选完版型,我们开始添加我们的库
上面的
- AzureIoTHub
- AzureIoTUtility
- AzureIoTProtocol_MQTT
- DHT Sensor Library
都能在Arduino库管理中搜索到,打开“项目”-“加载库”-“管理库”,如图
搜索Azure就可以添加最基础的三个(HTTP顺便也选上,以后用的上)
然后搜索“DHT Sensor”
一定要看清楚了再选!别选错了!!!
好,我们还差一个库Adafruit DHT Unified,这个在Arduino库管理器里搜不到,我们手动下载下来导入
点这个链接,会进入GitHub,然后我们Download下来zip包(下完了不要解压)
点击“项目”-“加载库”-“添加一个.ZIP库”,选择你刚刚下载的zip包
就完成软件的配置了(如果你编译的时候还出错那就找到错误,差库就补,文档跟GitHub-Azure里都有)
然后我们找到远程监控的源码
点这个下载,打开.ino文件,然后我们去创建IoT Suite(当然你也可以按着文档,一早就建好,因为Provision需要很长时间)
戳这!————> https://www.azureiotsuite.com/
我已经建好了,如果你不会创建那就去看我上次做的远程监控的实验。或者跟着这个配套的啰嗦视频食用!
然后我们新建一个Device
怎么新建自定义设备还要我说吗?上次实验做过啦!你不行就跟着这个配套实验看!
我的这个设备叫ANewDevice1120
然后到Azure的Portal里,点开TestSuite1120(我的IoT Suite名称)资源组,找到IoT Hub
点击设备资源管理
复制连接字符串-主密钥(ConnectionString)
然后回到我们之前打开的remote_monitoring.ino
点到iot_config.h
配置好WiFi名称跟密码(我一般用电脑开热点,这样就不用经常改了)
把刚刚复制的ConnectionString(连接字符串)粘贴过来
好,这时候就可以编译下载了
打开串口显示器,看输出信息。
因为我们没接传感器,所以它出来定值Humidity是3
如果没啥意外,这时候你就可以在IoT Suite的面板上看到数据了
明天我们再接着看微软是怎么写这个库的!
今天先讲个大概!
使用ESP8266连接到Azure的更多相关文章
- 如何使用 RDP 或 SSH 连接到 Azure 虚拟机
使用 RDP 或 SSH 连接到 Azure 虚拟机 本文简要概述了如何使用远程桌面控制协议 (RDP) 或安全外壳(Secure Shell,SSH)客户端登录 Azure 虚拟机.它还包括要求和故 ...
- Azure Web连接到Azure MySql Db
这个问题折腾了好一会,简单记录一下. 两种方式: 输入"规则名称"."起始 IP"和"结束 IP",然后单击"保存". ...
- Power BI 与 Azure Analysis Services 的数据关联:4、Power BI 连接到Azure Analysis Services 并展示
Power BI 与 Azure Analysis Services 的数据关联:4.Power BI 连接到Azure Analysis Services 过使用服务器名称别名,用户可以使用较短 ...
- 连接到 Azure 上的 SQL Server 虚拟机(经典部署)
概述 本主题介绍如何连接到运行于 Azure 虚拟机的 SQL Server 实例. 它介绍了一些常规连接方案,并提供了在 Azure VM 中配置 SQL Server 连接的详细步骤. Impor ...
- 针对通过 SSH 连接到 Azure Linux VM 时发生的失败、错误或被拒绝问题进行故障排除
尝试连接到 Linux 虚拟机 (VM) 时,有多种原因可能会导致安全外壳 (SSH) 错误.SSH 连接失败或被拒绝. 本文帮助用户找出原因并更正问题. 可以使用 Azure 门户.Azure CL ...
- Azure 自动化:使用PowerShell Credential连接到Azure
最近在中国版windows azure中新上线的自动化功能, 使用自动化,您可以导入自己的PowerShell脚本,然后设置一个运行计划使得脚本能按计划运行. 在本文中,我们来学习如何使用PowerS ...
- 对连接到 Azure 中 Linux VM 时出现的问题进行详细的 SSH 故障排除的步骤
有许多可能的原因会导致 SSH 客户端无法访问 VM 上的 SSH 服务. 如果已经执行了较常规的 SSH 故障排除步骤,则需要进一步排查连接问题. 本文指导用户完成详细的故障排除步骤,以确定 SSH ...
- 故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序
有多种原因可导致无法启用或连接到在 Azure 虚拟机 (VM) 上运行的应用程序.原因包括应用程序未在预期端口上运行或侦听.侦听端口受到阻止,或网络规则未将流量正确传递到应用程序.本文说明有条理地找 ...
- 使用powershell链接到Azure
一:针对传统的的Azure 的登陆界面: (ASM) 1. 正常来说是 现在本地创建证书文件,然后上传文件,以便本地计算机和Azure建立可靠的安全连接 Get-AzurePublishSetting ...
随机推荐
- Java Servelet
1.服务器端运行的程序 2.Servelet三个方法 init service 抽象方法 destory 这三个方法构成了servelet的生命周期 3.步骤 1.在web.xml中 描述了servl ...
- WPF在XAML中使用MultiBinding的两个例子
使用MultiBinding的原则:数据源有一个以上: 1. 需求:在一个需要显示的内容中,不同的部分要进行的处理不一样,这时可以使用MultiBinding <TextBlock> &l ...
- js 页面间的通信
看了一下公司原来的代码,原页面ajax post返回一个页面完整的HTML,然后再打开一个新页面并输出ajax返回的所有代码到新页面上,在新页面上以表单提交的形式实现重定向. 任凭我想了半天也没想出来 ...
- 《Think Python》第6章学习笔记
目录 6.1 返回函数值(Return values) 6.2 增量式开发(Incremental development) 6.3 组合(Composition) 6.4 布尔函数(Boolean ...
- Java责任链模式
责任链模式 顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计 ...
- 虚拟机下的zookeeper集群安装
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...
- 对.net事件的看法
对.net事件的看法 一.事件的本质 事件是软件系统里的两个子系统之间,或者两个模块之间,或者两个对象之间发送消息,并处理消息的过程.在面向对象的世界里,就可以统一认为是两个对象之间的行为. 两个对象 ...
- [PHP] PHP的脚本执行
PHP的脚本执行:PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译1.启动PHP及Zend引擎, 加载注册的扩展模块2.读取脚本文件,Zend引擎对脚本文件进行词法分析, ...
- [javaSE] 集合工具类(Collections-sort)
java为我们提供了一个集合的工具类,方便我们对集合进行操作,里面的方法都是静态方法. Collections.sort()方法,参数:List<T>集合对象,这个对象带着泛型,是为了保证 ...
- 17、多线程 (Thread、线程创建、线程池)
进程概念 *A:进程概念 *a:进程:进程指正在运行的程序.确切的来说,当一个程序进入内存运行, 即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. 线程的概念 *A:线程的概念 *a ...