基于RT-Thread+RA6M4的远程开机助手

本文介绍了基于RT-Thread实时操作系统和Renesas RA6M4微控制器的远程开机助手设计,利用物联网技术实现远程控制家庭电脑开机。通过腾讯云物联网开发平台和微信小程序,用户可以方便地在外开启家中的电脑,配合远程桌面实现类似本地操作的体验。硬件包括RA6M4和RW007模块,软件使用了tencent-cloud-iot-package和RW007-package。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文由RT-Thread论坛用户@原子号参加瑞萨电子 MCU RT-Thread开发设计大赛发布的原创文章:https://club.rt-thread.org/ask/article/e086a4b93cd3b143.html

应用背景

有时候重要的资料或者软件只有在家里的电脑里有,或者自己的办公电脑性能太弱,存储太小C盘都红了以及运行较大的软件很卡的时候就需要远程访问电脑。必须多压榨压榨电脑才能对得起自己当初花的钱。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9pc29nRF-1655427669668)(https://oss-club.rt-thread.org/uploads/20220617/80dd088c4f7c1c9a076cb31e4fff74a7.png “image1.png”)]
但是家里电脑也不能一直开着费电,尤其是在外租的房子有时候还是商业用电,用起来就更肉疼了,这时候就需要一个能控制家里电脑远程开机的小工具来辅助开机。
要达到远程访问自家电脑需要解决两个问题如何通知电脑开机如何构建远程连接的网络通道。本远程开机助手只解决如何通知电脑开机,对于如何构建远程连接的网络通道只作提示(分为两种情况,一种是有公网IP:很简单,开启路由器的DDNS,在路由器处做一个端口转发,把系统自带的电脑远程桌面开启,开放用到的端口。另一种是没有公网IP:用自建或者第三方提供的内网映射,我个人推荐用zerotier,免费速度快,使用教程)。

实现功能

功能就是在外面可以方便的开启家里的电脑,如果网络通畅,再通过远程桌面访问就像把家里电脑直接搬过来了一样,再配合上USB Network Gate共享USB设备(试用版可以共享两个设备),串口,DAP调试器以及大部分USB设备等都可以远程连接到你家里的电脑(具体速度受限于你的网速和延迟,我用过zerotier搭建虚拟局域网搭配USB Network Gate共享USB设备,共享DAP下载器程序的时候特别慢,只适合紧急的时候临时使用,简单的来个调试啥的应该是没问题的)

系统框架

硬件框架

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pts95OqV-1655427669669)(https://oss-club.rt-thread.org/uploads/20220617/8ad8c359483bd17fdfac9660f08d73ea.jpg.webp “22222.jpg”)]

软件框架

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBjrioPk-1655427669669)(https://oss-club.rt-thread.org/uploads/20220617/a33108a0835dd8fbdc8b362ab2ad4788.jpg “33.jpg”)]

RT-Thread使用情况

基于官方示例工程开发。

软件模块说明

用的都是现成的软件包,主要是tencent-cloud-iot-package和RW007-package。

作品完整图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sw7FM3r4-1655427669670)(https://oss-club.rt-thread.org/uploads/20220617/86a9d5e80700473ba579c03d00cd93c2.jpg.webp “微信图片_20220617002336.jpg”)]

视频演示

基于RT-Thread+RA6M4的远程开机助手 .mp4

代码地址

https://gitee.com/yuanzihao/RA6M4

制作过程

用RT-Thread Studio创建实例工程

用这个实例工程的原因是这里面RW007已经对接好了,编译完烧录直接用可以,节省时间。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4JohkcVh-1655427669670)(https://oss-club.rt-thread.org/uploads/20220617/b0ff7ba5b22e0e9972116d1e2ecf49de.png “5555.png”)]
创建成功后,编译烧录,接入串口控制台,确保RW007的SN和VER可以正常读取,WIFI可以正常连接。
我这次用腾讯云的物联网开发平台(可以直接连接微信小程序使用),所以先把ali-iotkit这个包先去掉然后添加tencent-cloud-iot-package-for-rtthread软件包。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T46scKZp-1655427669671)(https://oss-club.rt-thread.org/uploads/20220617/999ec9f59f17ffc52b06a540fd4be876.png “666.png”)]
保存配置后,确保能够正常编译。

局域网内测试WOL唤醒

添加如下代码,将自己已经配置好WOL的电脑关机,用另一台电脑连接开发板串口控制台,输入命令测试查看是否可以正常唤醒。在第六行换入你电脑自己的mac地址(要用有线网卡的MAC地址,除非你电脑关机还能连WIFI),第56行中的IP地址实际取决于你的路由器是怎么分配的,如果你电脑开机后IP显示是192.168.0.100,那你这里就填192.168.0.255,如果你电脑开机后IP显示是192.168.31.100,那么你这里就填192.168.31.255

#include <rtthread.h>
#include <sys/socket.h> /* 使用BSD socket,需要包含sockets.h头文件 */
#include <netdb.h>
#include <string.h>
#include <finsh.h>
char mac1[6] = {
   0xD8,0xBB,0xC1,0x00,0x00,0x00};
char send_data[6+6*16]; /* 发送用到的数据 */
void wake_on_LAN(const 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值