完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在这篇教程我将告诉你如何编写代码更新在著名的动态域名服务提供商之一no-ip服务器上的DNS记录。
动态IP地址 如果您在家里或者移动连接到互联网,你可能会有一个动态的公网IP地址,每次连接它可能会改变。 如果你要和网络上的一个设备联系,你需要知道这个设备的公网IP地址,如果这个地址是动态的,你可能不知道这个IP地址是多少(这样你就无法联系上这个设备)。 动态DNS 在互联网上你可以找到免费的动态DNS(DDNS)服务:他允许你将你选择的域名和一个IP地址绑定,并且可以随时更新IP地址(绑定不同的IP地址)。 更新可以有不同的方法:
NO-IP 应用比较多的动态域名服务商之一是NO-IP。 如果你注册了NO-IP的免费服务,你最多可以设置5台主机,使用Hosts/重定向功能。 在这个教程,我注册了以下域名:enctutorial.no-ip.info。 动态域名客户端 每个动态域名客户端,执行以下步骤:
代码 完整的代码共享在GitHub,接下来我将解释它们如何工作。 工作流程 代码的工作流程如下图所示: 作为一个4个状态的有限状态机(FSM)(也可百度有限状态机):
公网IP 要获得实际的公网IP,我在我的网站写了一个简单的PHP页面: Arduino浏览这个页面获得实际的公网IP。 DNS记录和比较 程序用dnsLookup()方法获取域名绑定的IP地址。然后将结果转换成一个字符串,与用上面方法获得的实际公网IP地址用compareTo()方法进行比较。
[color=rgb(51, 102, 153) !important]复制代码 认证 NO-IP在更新DNS记录前要进行身份认证。在代码中定义了一个常量: 这个值是用户名:密码字符串,必须用base64编码,我们使用在线的编码器: 测试 为了测试程序的作用,我们手动更新,让这个域名绑定一个错误的IP地址: 然后我们运行程序: Arduino获得了实际的公网IP,解析了域名绑定的IP,这两个不同,对域名绑定IP成功进行了更新,一段时间后,又进行另外一轮检查,这两个地址没有差异,就没有更新的必要。 重新查看NO-IP网站上的记录,确认进行了更新: 如果认证的密匙错误,程序检测并显示错误: |
|
|
|
只有小组成员才能发言,加入小组>>
WIO Terminal +MCP2515 实现车辆OBD的速度监控
10339 浏览 0 评论
60659 浏览 77 评论
5936 浏览 3 评论
一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)
35616 浏览 219 评论
10010 浏览 0 评论
463浏览 1评论
请教:esp32中用u8g2显示shtc3传感器数据到i2c液晶屏,显示不稳定的问题
1215浏览 1评论
1361浏览 1评论
577浏览 0评论
693浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-7 11:45 , Processed in 0.593959 second(s), Total 71, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号