尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
基于 SX126x-Arduino 库的 ESP32 LoRaWAN 节点实战:从入网配置到源码级解析
嵌入式硬件开发【免费下载链接】ESP32-Bit-PirateA Hardware Hacking Tool with Web-Based CLI That Speaks Every Protocol项目地址https://gitcode.com/GitHub_Trending/es/ESP32-Bit-Pirate点击查看免费下载本篇文章面向使用 ESP32、ESP8266 与 nRF52832 等平台的嵌入式开发者以当前仓库中 LoRaWan 示例 及其配套说明文档为骨架完整讲解如何把一个基于 SX1262 的 LoRa 模块配置成周期上报数据的 LoRaWAN 传感器节点覆盖网关与网络账户准备、区域频率配置、OTAA 入网参数注入、单通道网关适配以及事件回调与定时发送的底层实现。读完本文你可以直接复制示例代码完成一次真实的 LoRaWAN 入网与上报并能理解 LoRaMac 协议栈在 Arduino 框架下的调用关系。示例定位一个最小可用的 LoRaWAN 传感器节点仓库内 LoRaWan 示例目录 包含三个文件LoRaWan.ino主程序、ble.inonRF52832 专用 BLE 调试通道与README.md本示例的使用说明。该示例的目标非常明确——设备作为LoRaWAN 传感器节点end-device周期性地通过 LoRaWAN 协议向网关发送数据。在 LoRaWan.ino 中可以看到setup()完成芯片初始化、定时器初始化、EUI/密钥注入与入网启动后loop()几乎为空仅给 FreeRTOS 让出执行时间void loop() { #ifdef ESP8266 // Handle Radio events Radio.IrqProcess(); #endif // We are on FreeRTOS, give other tasks a chance to run // delay(100); }这说明示例采用事件驱动模型LoRaWAN 协议栈由库内部的中断与回调驱动应用层无需轮询状态这正是 LoRaMac 协议栈与 Arduinoloop()结合的标准写法。编译前的三项准备在编译运行前示例 README 明确列出了三类前提条件缺一不可可用的 LoRaWAN 网关可选其一公共 LoRaWAN 网关如 The Things Network 在全球多个大都市部署的覆盖网支持多信道的私有 LoRaWAN 网关简单廉价的单信道 LoRaWAN 网关。网络服务平台账户需要在 The Things NetworkTTN这类 LoRaWAN 网络服务器上创建应用Application并注册设备。只有在服务器侧完成设备注册后网关收到的数据才会被转发。注册流程通常需要填写设备 EUI、App EUI 与 App Key——这三个参数正是后面要写进代码的入网凭证。正确的区域频率居住地所在区域决定了网关使用的频率必须让节点工作在对应频段否则数据无法到达网关。区域频率配置两代库的差异要点旧版方式编辑 Commissioning.h示例 README 描述的方式是编辑库文件src/mac/Commissioning.h在 Arduino IDE 中位于arduinosketchfolder/libraries/SX126x-Arduino/src/mac下。文件顶部有一段多区域条件编译代码默认定义REGION_US915#if !defined(REGION_AS923) !defined(REGION_AU915) !defined(REGION_CN470) !defined(REGION_CN779) !defined(REGION_EU433) !defined(REGION_EU868) !defined(REGION_IN865) !defined(REGION_KR920) !defined(REGION_US915) !defined(REGION_US915_HYBRID) #define REGION_US915 #endif把默认行改为目标区域即可例如#define REGION_EU868文档列出的全部合法区域取值与对应频段如下宏定义区域频段REGION_AS923Asia923 MHzREGION_AU915Australia915 MHzREGION_CN470China470 MHzREGION_CN779China779 MHzREGION_EU433Europe433 MHzREGION_EU868Europe868 MHzREGION_IN865India865 MHzREGION_KR920Korea920 MHzREGION_US915US915 MHz当前仓库的 V2.0 方式lmh_init 传区域枚举值得注意的是当前仓库内的 Commissioning.h 已经是V2.0 多区域版本它不再要求用户单独定义一个REGION_*宏而是把REGION_AS923、REGION_AU915、REGION_CN470、REGION_CN779、REGION_EU433、REGION_EU868、REGION_IN865、REGION_KR920、REGION_US915以及REGION_AS923_1/2/3、REGION_RU864全部列出并会在单独定义任一区域宏时报编译错误提示阅读 V2 迁移说明。同时该文件还集中定义了LORAWAN_DUTYCYCLE_ON/OFF、LORAWAN_PUBLIC_NETWORK/PRIVAT_NETWORK、LORAWAN_ADR_ON/OFF、STATIC_DEVICE_EUI、LORAWAN_DEVICE_EUI、LORAWAN_APPLICATION_EUI、LORAWAN_APPLICATION_KEY等基础参数。在 V2.0 下区域选择改由 lmh_init() 的region参数决定默认LORAMAC_REGION_EU868。区域枚举定义在 LoRaMac.h包含LORAMAC_REGION_AS923、LORAMAC_REGION_AU915、LORAMAC_REGION_CN470、LORAMAC_REGION_CN779、LORAMAC_REGION_EU433、LORAMAC_REGION_EU868、LORAMAC_REGION_KR920、LORAMAC_REGION_IN865、LORAMAC_REGION_US915、LORAMAC_REGION_AS923_2/3/4与LORAMAC_REGION_RU864。示例主程序中的实际调用即为 V2.0 写法err_code lmh_init(lora_callbacks, lora_param_init, true, CLASS_A, LORAMAC_REGION_AS923_3);因此如果你使用的是当前仓库这份 V2.0 库请直接修改lmh_init的最后一个参数而不是去改动Commissioning.h的宏定义。此外 V2.0 还提供 lmh_setAS923Version() 用于在 AS923 子频段1/2/3/4分别偏移 0 / -1.8 MHz / -6.6 MHz / -5.9 MHz之间切换。nRF52832 编译内置 BLE 调试通道README 特别说明若为 nRF52832 编译BLE 会被自动激活芯片将广播两个服务DFU 服务Nordic 官方的 OTA 固件升级服务用于无线更新芯片固件BLE-UART 服务通过 BLE 透传调试信息可用安卓端的 Serial Bluetooth Terminal 类 App 查看串口日志。实现位于 ble.inoinitBLE()调用Bluefruit.begin()、设置广播名PPG_LORA_SX126x_TEST、发射功率4依次启动bledfuOTA DFU与bleuartUART 服务然后进入广播startAdv()配置广播间隔fast 模式 32 × 0.625 ms、slow 模式 244 × 0.625 ms、fast 模式 30 秒超时并start(0)表示持续广播直到连接。连接/断开回调则负责维护bleUARTisConnected标志位。在 LoRaWan.ino 中#ifdef NRF52_SERIES分支引入bluefruit.h并声明initBLE()、bleUARTisConnected与bleuart外部符号setup()里通过pinMode(30, OUTPUT); digitalWrite(30, HIGH);拉起天线供电后再initBLE()。该特性仅在 nRF52 编译时生效ESP32/ESP8266 构建不会包含 BLE 代码。关键宏定义上报节奏与入网重试示例在 LoRaWan.ino 顶部集中定义了一组可调参数README 逐一给出注释#define SCHED_MAX_EVENT_DATA_SIZE APP_TIMER_SCHED_EVENT_DATA_SIZE /** Maximum size of scheduler events. */ #define SCHED_QUEUE_SIZE 60 /** Maximum number of events in the scheduler queue. */ #define LORAWAN_APP_DATA_BUFF_SIZE 64 /** Size of the data to be transmitted. */ #define LORAWAN_APP_TX_DUTYCYCLE 10000 /** Defines the application data transmission duty cycle. 10s, value in [ms]. */ #define APP_TX_DUTYCYCLE_RND 1000 /** Defines a random delay for application data transmission duty cycle. 1s, value in [ms]. */ #define JOINREQ_NBTRIALS 3 /** Number of trials for the join request. */各参数含义与调优建议SCHED_MAX_EVENT_DATA_SIZE/SCHED_QUEUE_SIZE协议栈内部调度器基于 Nordic SoftDevice app_timer 事件调度的事件大小与队列容量一般保持默认LORAWAN_APP_DATA_BUFF_SIZE单帧应用数据缓冲区大小本示例为 64 字节注意实际有效负载还受区域与数据率的最大帧长限制EU868 等区域 DR0~DR5 下通常远小于 64 字节LORAWAN_APP_TX_DUTYCYCLE应用数据发送周期10000 ms 即每 10 秒发一帧APP_TX_DUTYCYCLE_RND发送周期的随机抖动上限1000 ms用于打散多节点同时上报的碰撞概率是 LoRaWAN 随机退避的常见做法JOINREQ_NBTRIALS入网Join请求的最大尝试次数配合网关的 RX 窗口机制使用。数据缓冲区、参数结构与回调表示例定义了三类核心数据结构README 对此给出完整代码TimerEvent_t appTimer; /// LoRa transfer timer instance. static uint8_t m_lora_app_data_buffer[LORAWAN_APP_DATA_BUFF_SIZE]; /// Lora user application data buffer. static lmh_app_data_t m_lora_app_data {m_lora_app_data_buffer, 0, 0, 0, 0}; /// Lora user application data structure. static lmh_param_t lora_param_init {LORAWAN_ADR_ON, LORAWAN_DEFAULT_DATARATE, LORAWAN_PUBLIC_NETWORK, JOINREQ_NBTRIALS, LORAWAN_DEFAULT_TX_POWER, LORAWAN_DUTYCYCLE_OFF}; static lmh_callback_t lora_callbacks {BoardGetBatteryLevel, BoardGetUniqueId, BoardGetRandomSeed, lorawan_rx_handler, lorawan_has_joined_handler, lorawan_confirm_class_handler, lorawan_join_failed_handler};m_lora_app_data发送缓冲区、长度、端口等打包成lmh_app_data_t结构体直接交给lmh_send()lora_param_initlmh_param_t聚合了ADR 开关、默认数据率、公网标志、入网尝试次数、默认发射功率、占空比开关。注意 README 中展示的初版参数为{LORAWAN_ADR_OFF, DR_4, LORAWAN_PUBLIC_NETWORK, JOINREQ_NBTRIALS, LORAWAN_DEFAULT_TX_POWER}关闭 ADR、固定 DR_4而当前仓库示例主程序已更新为{LORAWAN_ADR_ON, LORAWAN_DEFAULT_DATARATE, ... , LORAWAN_DUTYCYCLE_OFF}开启 ADR、使用默认数据率、关闭占空比限制二者均可运行LORAWAN_DUTYCYCLE_OFF仅建议测试使用——ETSI 法规强制要求 EU 区域的占空比限制lora_callbacks七个回调依次为电池电量、唯一 ID、随机种子、下行数据接收、入网成功、Class 切换确认、入网失败全部由 LoRaWAN 协议栈在事件发生时回调调用。EUI 与密钥OTAA 入网的六项凭证README 与主程序一致地给出了一整套**示例性非生产**凭证包括 8 字节 DevEUI、8 字节 AppEUI、16 字节 AppKey以及 ABP 模式所需的 DevAddr、NwkSKey、AppSKeyuint8_t nodeDeviceEUI[8] {0x00, 0x95, 0x64, 0x1F, 0xDA, 0x91, 0x19, 0x0B}; uint8_t nodeAppEUI[8] {0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x02, 0x01, 0xE1}; uint8_t nodeAppKey[16] {0x07, 0xC0, 0x82, 0x0C, 0x30, 0xB9, 0x08, 0x70, 0x0C, 0x0F, 0x70, 0x06, 0x00, 0xB0, 0xBE, 0x09}; uint32_t nodeDevAddr 0x260116F8; uint8_t nodeNwsKey[16] {0x7E, 0xAC, 0xE2, 0x55, 0xB8, 0xA5, 0xE2, 0x69, 0x91, 0x51, 0x96, 0x06, 0x47, 0x56, 0x9D, 0x23}; uint8_t nodeAppsKey[16] {0xFB, 0xAC, 0xB6, 0x47, 0xF3, 0x58, 0x45, 0xC7, 0x50, 0x7D, 0xBF, 0x16, 0x8B, 0xA8, 0xC1, 0x7C};实际部署时必须替换为你在 TTN 等网络服务器上注册设备时得到的真实值。注入流程在 LoRaWan.ino 中通过一组 setter 完成这些 setter 的语义定义在 LoRaMacHelper.hlmh_setDevEui(nodeDeviceEUI); // 设置设备 IEEE EUI大端 lmh_setAppEui(nodeAppEUI); // 设置应用 IEEE EUI lmh_setAppKey(nodeAppKey); // 设置应用密钥OTAA 入网用 lmh_setNwkSKey(nodeNwsKey); // 设置网络会话密钥ABP 用 lmh_setAppSKey(nodeAppsKey); // 设置应用会话密钥ABP 用 lmh_setDevAddr(nodeDevAddr); // 设置设备网络地址ABP 用其中 OTAA 模式只需前三个DevEUI/AppEUI/AppKey后三个为 ABP 模式凭证示例通过lmh_init(..., true, CLASS_A, ...)的otaa true走OTAA 空中激活入网成功后由网络服务器下发 DevAddr 与会话密钥。启动时序硬件初始化到入网LoRaWan.ino 的setup()完整展示了节点启动链路README 将其概括为与简单 LoRa 示例类似但多了 EUI/密钥配置引脚映射ESP32 分支定义PIN_LORA_RESET4、PIN_LORA_NSS5、PIN_LORA_SCLK18、PIN_LORA_MISO19、PIN_LORA_DIO_121、PIN_LORA_BUSY22、PIN_LORA_MOSI23RADIO_TXEN/RXEN-1无外部 PA 开关ESP8266 与 nRF52832 分支各有独立映射nRF52 还用SPIClass SPI_LORA(NRF_SPIM2, 14, 12, 13)单独实例化 SPI 总线硬件配置填充hwConfig结构体CHIP_TYPE SX1262_CHIP示例使用 eByte E22 / CircuitRocks Alora RFM1262 这类 SX1262 模块并开启USE_DIO2_ANT_SWITCH与USE_DIO3_TCXODIO2 控制天线开关、DIO3 为 TCXO 供电芯片初始化lora_hardware_init(hwConfig)RAK4630 平台走lora_rak4630_init()失败时通过串口打印错误码定时器初始化timers_init()必须在硬件初始化之后调用内部TimerInit(appTimer, tx_lora_periodic_handler)把周期发送回调挂到定时器上注入 EUI/密钥见上文六项凭证协议栈初始化lmh_init(lora_callbacks, lora_param_init, true, CLASS_A, LORAMAC_REGION_AS923_3)同时决定激活方式、Class 与区域网关适配见下一节发起入网lmh_join()触发 OTAA Join 流程。单信道网关 vs 多信道网关频率跳变之争README 用较大篇幅解释了单信道网关的适配问题这是本示例最具实战价值的部分LoRaWAN 协议下节点每发一包会切换频率frequency hopping多信道网关能同时监听 8 或 16 个频率因此无论节点跳到哪个信道都能收到这类网关成本较高单信道 LoRaWAN 网关只能监听一个固定频率因此更便宜此时节点必须关闭频率跳变只在该频率上发送若使用公共网关或自己的全功能多信道网关应删除这行lmh_setSingleChannelGateway(0, DR_3);若使用 DIY 单信道网关则必须保留它。lmh_setSingleChannelGateway(channel, datarate)的底层实现在 LoRaMacHelper.cpp把singleChannelGateway置真并记录选中的信道号与数据率协议栈随后在信道选择阶段固定到该信道。对应 API 声明见 LoRaMacHelper.h其注释提示查阅库内 CHANNELS 文档确定信道号 ↔ 频率的对应关系。注意主程序里的实际取舍当前 LoRaWan.ino 在调用处用醒目注释强调lmh_setSingleChannelGateway与lmh_setSubBandChannels二选一绝不能同时使用否则通信大概率永远无法工作。示例默认将lmh_setSingleChannelGateway(0, DR_3)注释掉改用if (!lmh_setSubBandChannels(1)) { Serial.println(lmh_setSubBandChannels failed. Wrong sub band requested?); }lmh_setSubBandChannels(subBand)定义见 LoRaMacHelper.cpp用于把节点限定在网关所监听的子频段内适合 Dragino LPS8 这类多信道但只监听一个子带的网关不同区域的最大子带数不同AS923 为 1、AU915 为 9、CN470 为 12、CN779/EU433 为 2 等调用前需确认网关配置与区域参数一致。回调机制逐帧拆解示例通过五个回调函数覆盖节点的完整生命周期README 逐一给出职责说明结合主程序可进一步细化回调函数触发时机主要动作来自 LoRaWan.inolorawan_has_joined_handler()设备成功加入 LoRaWAN 网络后打印 Network Joined请求 CLASS_A设置 10 秒周期定时器并启动lorawan_rx_handler(app_data)收到网关下行数据后打印端口/长度/rssi/snr端口 3 且 1 字节时切换 Class0→A、1→B、2→CLORAWAN_APP_PORT为应用数据入口lorawan_confirm_class_handler(Class)Class 切换完成后打印切换结果并立即向服务器回发一帧空数据告知切换lorawan_join_failed_handler()OTAA 入网失败后提示检查 EUI/Key 与网关是否在范围内tx_lora_periodic_handler()周期定时器超时重新装载 10 秒定时器调用send_lora_frame()其中send_lora_frame()是真正的数据发送函数LoRaWan.inostatic void send_lora_frame(void) { if (lmh_join_status_get() ! LMH_SET) { //Not joined, try again later Serial.println(Did not join network, skip sending frame); return; } uint32_t i 0; m_lora_app_data.port LORAWAN_APP_PORT; m_lora_app_data.buffer[i] H; // ... 填充 Hello world! ... m_lora_app_data.buffsize i; lmh_error_status error lmh_send(m_lora_app_data, LMH_UNCONFIRMED_MSG); Serial.printf(lmh_send result %d\n, error); }关键点在于发送前先通过lmh_join_status_get() ! LMH_SET判断是否已入网未入网则跳过发送lmh_send(app_data, LMH_UNCONFIRMED_MSG)使用非确认帧也可改用LMH_CONFIRMED_MSG请求网关 ACK配合 lmh_send_blocking 可等待 RX2 窗口关闭或超时。m_lora_app_data.buffsize与port是发送帧有效负载长度与应用端口收到下行数据时同样从这个结构体的port/buffsize/rssi/snr字段读取信息。与 ESP32-Bit-Pirate 项目的集成视角虽然 LoRaWan 示例来自仓库内置的 SX126x-Arduino 三方库目录但它在当前 ESP32-Bit-Pirate 项目中并非孤立存在项目在 LoRaController.cpp 中实现了 SX1262 的引脚交互式配置SCK/MISO/MOSI/CS/RESET/BUSY/DIO1 六个 GPIO 逐一询问录入见该文件第 1310 行附近与初始化/发送链路同样依赖SX126x-Arduino库的底层能力。因此理解本示例的hwConfig引脚填充、lmh_init参数与回调机制对于把 LoRaWAN 节点功能移植进该项目、或为该项目编写自定义 LoRaWAN 上报固件具有直接的参考价值。排查清单与常见坑结合 README 提示与源码实现整理一份实战排查清单区域不一致节点lmh_init的区域枚举必须与网关所在区域一致否则频率对不上V2.0 库无需再动Commissioning.h凭证错误DevEUI/AppEUI/AppKey 必须与 TTN 设备注册页完全一致lorawan_join_failed_handler()的提示信息就是为排查这类问题准备的网关类型误配单信道网关必须启用lmh_setSingleChannelGateway并关闭频率跳变多信道网关则删掉该行或用lmh_setSubBandChannels限定子带二者严禁混用占空比合规EU868 等区域受 ETSI 法规约束LORAWAN_DUTYCYCLE_OFF仅限测试量产固件应保持占空比控制硬件接线SX1262 的 BUSY、DIO1 必须正确连接hwConfig.USE_DIO2_ANT_SWITCH/USE_DIO3_TCXO依模块而定如 RFM1262 用 DIO2 做天线开关、DIO3 供 TCXO 电压ISP4520 则用 DIO3 做天线开关。以上流程覆盖了从硬件接线、区域配置、凭证注入、入网启动到周期上报的完整闭环配合 LoRaWan.ino 源码与 LoRaMacHelper.h API 声明即可独立完成一个可运行的 LoRaWAN 节点固件。赞分享嵌入式硬件开发【免费下载链接】ESP32-Bit-PirateA Hardware Hacking Tool with Web-Based CLI That Speaks Every Protocol项目地址https://gitcode.com/GitHub_Trending/es/ESP32-Bit-Pirate点击查看免费下载相关推荐ESP32-Bit-Pirate 仓库 SX126x-Arduino 指南基于 FreeRTOS 信号量的 nRF52 SX1262 LoRaWAN 超低功耗节点实战ESP32 Bit Pirate 仓库 SX126x Arduino 指南基于 FreeRTOS 信号量的 nRF52 SX1262 LoRaWAN 超低嵌入式硬件开发ESP32 与 e22 LoRa 模块 LoRaWAN OTAA 入网实战基于 SX126x-Arduino 的 Helium/TTN 接入指南ESP32 与 e22 LoRa 模块 LoRaWAN OTAA 入网实战基于 SX126x Arduino 的 Helium/TTN 接入指南 本指南以仓库嵌入式硬件开发LoRaWAN 最大数据包长度速查与源码级解析基于 SX126x-Arduino 驱动ESP32-Bit-Pirate 仓库LoRaWAN 最大数据包长度速查与源码级解析基于 SX126x Arduino 驱动ESP32 Bit Pirate 仓库 本文以 lib/SX126x嵌入式硬件开发上一篇如何在AWS和Azure上快速部署TPOT自动化机器学习平台下一篇hve-notes Markdown排版指南创建易读性强的博客内容创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

esptool 配置文件(esptool.cfg)完全指南:自定义时序、超时与复位序列

esptool 配置文件(esptool.cfg)完全指南:自定义时序、超时与复位序列

开发工具嵌入式硬件开发 【免费下载链接】esptool Serial utility for flashing, provisioning, and interacting with Espressif SoCs 项目地址: https://gitcode.com/gh_mirrors/es/esptool 点击查看 免费下载 esptool 是一款通过串口与 Espressif SoC 进行烧录、…

📅 2026/10/3 1:56:33
Warp 代码审查 Git 操作 AI 自动生成开关与 Enterprise 准入门控:APP-4118 技术解析

Warp 代码审查 Git 操作 AI 自动生成开关与 Enterprise 准入门控:APP-4118 技术解析

桌面应用开发者工具人工智能AI 应用AI Agent代码智能体 【免费下载链接】warp Warp is an agentic development environment, born out of the terminal. 项目地址: https://gitcode.com/GitHub_Trending/wa/warp 点击查看 免费下载 导读 本文基于 Warp 开源仓库中…

📅 2026/10/3 1:51:33
零基础搭建 Sunshine 串流主机:4 个里程碑接入 Moonlight 游戏串流

零基础搭建 Sunshine 串流主机:4 个里程碑接入 Moonlight 游戏串流

零基础搭建 Sunshine 串流主机:4 个里程碑接入 Moonlight 游戏串流 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine 是 Moonlight 客户端的自托管游戏串流服务…

📅 2026/10/3 1:51:33
MORE NEWS

更多资讯

📰

用 thiserror 派生宏消除自定义错误样板代码:100-exercises-to-learn-rust 的 TicketNewError 实战

示例工程教程 【免费下载链接】100-exercises-to-learn-rust A self-paced course to learn Rust, one exercise at a time. 项目地址: https://gitcode.com/GitHub_Trending/10/100-exercises-to-learn-rust 点击查看 免费下载 本篇指南聚焦 Rust 生态中最常用的错…

📰

IDM-VTON 人体解析工具链:Detectron2 tools 目录训练、评测与可视化脚本全解析

计算机视觉深度学习媒体生成 【免费下载链接】IDM-VTON [ECCV2024] IDM-VTON : Improving Diffusion Models for Authentic Virtual Try-on in the Wild 项目地址: https://gitcode.com/GitHub_Trending/id/IDM-VTON 点击查看 免费下载 导读:本文围绕 I…

📰

基于多视觉语言模型交叉描述的智能眼镜图像理解与质量评估实战指南(OpenGlass 项目)

人工智能AI 应用智能硬件本地部署可穿戴AI Agent 【免费下载链接】OpenGlass Turn any glasses into AI-powered smart glasses 项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass 点击查看 免费下载 OpenGlass 是一个让任何普通眼镜变身 AI 智能眼镜的…

📰

Toonflow 更新说明全解读:从 21 种语言界面到画布复制、FFmpeg 工具与桌面更新机制

人工智能AI 应用AI AgentRAGAI 写作后端桌面应用 【免费下载链接】Toonflow-app Toonflow 是一款 AI 短剧漫剧工具,能够利用 AI 技术将小说自动转化为剧本,并结合 AI 生成的图片和视频,实现高效的短剧创作。借助 Toonflow,可以轻松…

📰

AI-For-Beginners Game Jam 作业实战指南:以「过去—现在—未来」框架剖析游戏中的 AI 进化

教程人工智能机器学习深度学习 【免费下载链接】AI-For-Beginners 12 Weeks, 24 Lessons, AI for All! 项目地址: https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners 点击查看 免费下载 本指南基于 AI-For-Beginners 第 1 课(Introduction to A…

📰

telegram - api-reference

Telegram Bot API - 完整参考 目录 认证发送方法编辑方法聊天方法成员方法更新与 Webhook机器人配置主要类型解析模式错误代码 认证 基础 URL&#xff1a; https://api.telegram.org/bot<TOKEN>/<METHOD> 文件 URL&#xff1a; https://api.telegram.org/file/b…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬