Arduino MKR WiFi 1010 接入 Telegram Bot——物联网入门实战
硬件准备
- Arduino MKR WiFi 1010(内置 ESP32 WiFi 模块)
- Micro-USB 数据线
- 2.4GHz WiFi 网络(需 SSID 与密码)
软件准备
- Arduino IDE 1.8.5+
- 通过板卡管理器安装 Arduino SAMD Boards(含 MKR WiFi 1010)
- 库管理器安装 WiFiNINA
- 随项目提供修改版 ESP8266TelegramBot 库(放入 sketch 同级目录)
创建 Telegram Bot
- 打开 Telegram,搜索
@BotFather并开始对话。 - 发送
/newbot,按提示设置名称与用户名(必须以bot结尾)。 - 获得 Token(长字符串),妥善保存。
- 可选:
/setuserpic设置头像,/setabouttext设置简介,/setdescription设置功能描述。
配置与上传
- 解压附件
MKR1010Bot_V1_02.zip,用 IDE 打开。 - 切换到
arduino_secrets.h标签,填入:
WiFi SSID、密码;Bot 名称、用户名、Token。 - 工具菜单选择板卡 Arduino MKR WiFi 1010 与正确 COM 口。
- 编译上传,打开串口监视器(波特率 9600)。
测试交互
- 串口监视器显示连接 WiFi 与 Telegram 服务器轮询日志。
- 在 Telegram 搜索 Bot 名称(非用户名),点击开始,发送
/start获得欢迎语。 - 发送
help查看支持指令:on/off控制板载 LED,status查询状态等。
常见问题
若串口提示 “Bot not connected”,需更新 WiFiNINA 固件并上传 SSL 证书:
工具 → WiFi101/WiFiNINA Firmware Updater → 上传 Updater Sketch → 更新固件 → SSL Certificates 添加 telegram.org:443 → 上传证书 → 重新上传本项目代码。
进阶建议
- 用户鉴权:在代码中过滤
message.from.id,仅响应白名单用户。 - 扩展硬件:MKR WiFi 1010 为 3.3V 逻辑,接继电器/传感器需电平转换,可控制家电、读取环境数据等。
- 自定义指令:仿照
on/off子程序添加新指令,返回执行结果。
参考链接
- Telegram Bot API:core.telegram.org/bots
- MKR WiFi 1010 官方指南:arduino.cc/en/Guide/MKRWiFi1010
制造工艺
- 在树莓派 3 上扩展 GoPiGo v2 的 Windows 10 IoT Core 应用
- 智能存钱罐:Arduino Nano 控制硬币识别器实现余额显示
- Arduino 音频频率检测:基于 FFT 测量最响亮声音峰值
- Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
- Arduino 井字棋游戏:MAX7219 点阵屏 + 纸板外壳 DIY
- Arduino DIY 电压表:Nokia 5110 屏幕显示,手把手教学
- 使用 SparkFun 7 段数码管构建可靠的 Arduino 倒计时器
- 语音控制家电:Google Assistant + 蓝牙 + Arduino UNO
- 使用 Nextion 显示屏构建 Fridgeye 应用:分步指南
- 自制 Arduino 遥控保时捷赛车:从改装底盘到手机 App 控制全攻略
- Arduino UNO + 以太网盾板实现低成本太阳辐射测量仪(热电堆原理)
- Arduino 合成乐音:从零实现 88 键钢琴全音域