『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 44707|回复: 180

論壇改裝模塊的全新應用 - ESPurna for HASSMART

  [复制链接]

30

主题

493

帖子

4795

积分

论坛元老

佑桑

Rank: 8Rank: 8

积分
4795
金钱
4287
HASS币
156

教程狂人

发表于 2018-6-30 16:47:39 | 显示全部楼层 |阅读模式
本帖最后由 chinyaolin 于 2020-5-26 17:18 编辑

2020/05/26 樓主改用 ESPHome 了
2018/07/20 更新 ESPurna 1.13.1 調整一下程式碼架構, 改以 custom.h 放置自定義的內容, 方便以後更新版本


// custom.h
// 擴充 arduino.h 編譯時所要編的硬體
#define HASSMART_SINGLE
//#define HASSMART_DUAL
//#define HASSMART_TRIPLE

// 擴充 general.h
#define DEVICE_NAME             MANUFACTURER "-" DEVICE

// 擴充 hardware.h 改裝模塊 GPIO 定義 包含單開雙開及三開
#if defined(HASSMART_SINGLE)
    #define MANUFACTURER        "HASSMART"
    #define DEVICE              "SINGLE"
    // Buttons
    #define BUTTON1_PIN         0       // Button 0 on header
    #define BUTTON1_RELAY       1
    #define BUTTON1_MODE        BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
    // Relays
    #define RELAY1_PIN          12
    #define RELAY1_TYPE         RELAY_TYPE_NORMAL
    // LEDs
    #define LED1_PIN            13
    #define LED1_PIN_INVERSE    0

#elif defined(HASSMART_DUAL)
    #define MANUFACTURER        "HASSMART"
    #define DEVICE              "DUAL"
    // Buttons
    #define BUTTON1_PIN         0       // Button 0 on header
    #define BUTTON2_PIN         14      // Button 1 on header
    #define BUTTON1_RELAY       1
    #define BUTTON2_RELAY       2
    #define BUTTON1_MODE        BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
    #define BUTTON2_MODE        BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
    // Relays
    #define RELAY1_PIN          12
    #define RELAY2_PIN          5
    #define RELAY1_TYPE         RELAY_TYPE_NORMAL
    #define RELAY2_TYPE         RELAY_TYPE_NORMAL
    // LEDs
    #define LED1_PIN            13
    #define LED1_PIN_INVERSE    0

#elif defined(HASSMART_TRIPLE)
    #define MANUFACTURER        "HASSMART"
    #define DEVICE              "TRIPLE"
  // Buttons
    #define BUTTON1_PIN         0
    #define BUTTON2_PIN         14
    #define BUTTON3_PIN         2
    #define BUTTON1_MODE        BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
    #define BUTTON2_MODE        BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
    #define BUTTON3_MODE        BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH
    #define BUTTON1_RELAY       1
    #define BUTTON2_RELAY       2
    #define BUTTON3_RELAY       3
    // Relays
    #define RELAY1_PIN          12
    #define RELAY2_PIN          5
    #define RELAY3_PIN          4
    #define RELAY1_TYPE         RELAY_TYPE_NORMAL
    #define RELAY2_TYPE         RELAY_TYPE_NORMAL
    #define RELAY3_TYPE         RELAY_TYPE_NORMAL
    // LEDs
    #define LED1_PIN            13
    #define LED1_PIN_INVERSE    0
#endif


首先感謝 Yonsm 的文章 - espurna - 支持Sonoff、Hassmart、NodeMCU的高性能、稳定固件
決定自己編譯論壇模塊專用的韌體/固件
這幾天以來不知道跌入多少坑中, 總算是有了一些結果, 貢獻給大家

官方網頁 : ESPurna Firmware
Y 大客製版 : tree/Yonsm ESPurna Firmware

我先使用 Ariduno IDE 1.8.5 搭配官方版本的程式碼, 不斷調校環境直到成功, 有興趣的人參考以下連結
https://github.com/xoseperez/espurna/wiki/ArduinoIDE
原作者詳細說明了如何將原始碼編譯出 ESPurna 韌體/固件

接著參考 Y 大的程式碼, 主要有兩個部份 arduino.h 與 hardware.h,
關於 hardware.h, 細節不多說, 主要在新增論壇模塊的 GPIO 定義, 節錄部份代碼如下

// hardware.h
// 修改內容整併至 custom.h 保持原始文件不做更動


另外一個是 arduino.h, 這個檔案選擇編譯的模塊以及額外要支援的功能

// arduino.h
// 修改內容整併至 custom.h 保持原始文件不做更動


我自己實際將雙開模塊刷上這個自製的韌體/固件後, 到目前使用上並無什麼問題
之後再找機會分享我的應用方式

PS.1 不好的話還是需要說在前頭, 我個人不對刷韌體/固件的風險負任何責任, 決定使用的朋友請自行承擔結果
PS.2 編譯時, 檔案 general.h 中的 #define USE_PASSWORD 設定為 0, 但還是建議要設上密碼確保安全

PS.3 編譯好的韌體(1.13.0) 回帖後可下載

游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 2金钱 +20 收起 理由
neroxps + 10 在下对你的景仰犹如滔滔长江之水,连绵不绝.
Roger + 10 分享是一种美德!

查看全部评分

回复

使用道具 举报

3

主题

171

帖子

2433

积分

金牌会员

Rank: 6Rank: 6

积分
2433
金钱
2262
HASS币
0
发表于 2018-6-30 16:56:17 | 显示全部楼层
谢谢分享,在等各位大神发nodemcu的固件
回复

使用道具 举报

2

主题

711

帖子

5045

积分

论坛元老

Rank: 8Rank: 8

积分
5045
金钱
4334
HASS币
85
发表于 2018-6-30 20:55:45 | 显示全部楼层
感谢楼主分享~
回复

使用道具 举报

6

主题

292

帖子

2098

积分

金牌会员

Rank: 6Rank: 6

积分
2098
金钱
1806
HASS币
0
QQ
发表于 2018-6-30 22:15:45 | 显示全部楼层
谢谢分享
回复

使用道具 举报

30

主题

997

帖子

4151

积分

论坛元老

Rank: 8Rank: 8

积分
4151
金钱
3149
HASS币
0

活跃会员

发表于 2018-7-1 10:09:13 | 显示全部楼层
谢谢分享!!
回复

使用道具 举报

5

主题

199

帖子

1258

积分

论坛积极会员

积分
1258
金钱
1059
HASS币
0
发表于 2018-7-1 15:37:05 | 显示全部楼层
真不错    得学习一下。。我也试过便以 ,但头痛。。
回复

使用道具 举报

2

主题

17

帖子

220

积分

论坛分享达人

积分
220
金钱
203
HASS币
0
发表于 2018-7-1 15:37:29 | 显示全部楼层
非常好用的固件,感谢分享。
回复

使用道具 举报

0

主题

141

帖子

1765

积分

论坛积极会员

积分
1765
金钱
1624
HASS币
0
发表于 2018-7-1 17:23:56 | 显示全部楼层
感謝大大熱情提供!!
回复

使用道具 举报

2

主题

240

帖子

1761

积分

金牌会员

Rank: 6Rank: 6

积分
1761
金钱
1521
HASS币
0
发表于 2018-7-1 20:28:19 | 显示全部楼层
學習學習
回复

使用道具 举报

2

主题

82

帖子

1305

积分

金牌会员

Rank: 6Rank: 6

积分
1305
金钱
1223
HASS币
0
发表于 2018-7-1 23:11:02 | 显示全部楼层
看一下如何应用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 08:43 , Processed in 0.291554 second(s), 39 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表