日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDY-24M 超级 BLE 蓝牙模块——理解与实践

發(fā)布時間:2024/8/1 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDY-24M 超级 BLE 蓝牙模块——理解与实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

**

實驗1:JDY-24M 組網(wǎng) IO 控制接線圖

第一部分:
**

按手冊說的,通電后,不發(fā)任何指令去修改配置,使用的就是出廠默認的配置,如下:


SUBTYPE 默認為 0:自己的KEYx按下,只有別人的OUTPUTx輸出高低電平,可通過別人的KEYx來控制自己的OUTPUTx,經(jīng)過我的測試,發(fā)現(xiàn)KEY1和KEY2或者OUTPUT1和OUTPUT2對應(yīng)不了,我的板子是按照手冊的引腳圖畫的(絲印的KEYx和藍牙模塊所說的KEYx不一致),如圖:

按道理是這樣對應(yīng)的:

結(jié)果最下面兩個變成:

板子我都用萬用表檢查了,和我原想的對應(yīng)了,暫且不知道怎么回事,可能是我哪錯了,也可能是它這個引腳圖KEY1和KEY2或者OUTPUT1和OUTPUT2標反了。不打緊,先不管了。

四個模塊接上3.3V后,進入出廠默認配置,自動組網(wǎng),工作時如下這個紅色LED閃爍:

通過最左邊的模塊控制其他幾個:

其他模塊可以被最左邊的模塊的按鍵控制,控制是對應(yīng)的,比如:
想要使得最左邊模塊的LED點亮,按下其他任意一個模塊的按鍵,即可,這個被按下的模塊LED不變,其他模塊的LED對應(yīng)變化。

證實了我個人理解的這句話:自己的KEYx按下,只有別人的OUTPUTx輸出高低電平,可通過別人的KEYx來控制自己的OUTPUTx,注意x是同一個值哦,即:KEY1——>OUTPUT1,KEY2——>OUTPUT2

第二部分:

組網(wǎng)ID比作一個村,每個房子就是組網(wǎng)短號,其中一個房子就是我家(本機地址),按鍵KEYx看作是燈開關(guān),Kx目標短地址就是每個房子的不同層樓燈的編號(可自定義編號),K1可看作我家1樓燈的編號。別人家的按鍵的目標地址設(shè)置成這個編號就能控制我家的1樓的燈,OUTPUTx看作連接某層樓燈座,OUTPUT1就是1樓燈的燈座,第一部分是通過我家的開關(guān),控制別人家的燈,只不過比較麻煩,需要跑到自己的對應(yīng)樓層才能控制別人家該樓層的燈——平行控制,默認情況下我自家的該樓層燈不受自己開關(guān)控制(SUBTYPE 默認為 0),要想打開自家的開關(guān)時能同時控制別人家的燈和自己的燈,就將SUBTYPE設(shè)置為1,當(dāng)然別人家也可以這樣控制。

第一部分是默認設(shè)置,默認 INPUT1 到 INPUT5 按鍵目標短地址是 FFFF,默認
按一下 INPUT 引腳 SW 按鍵,會向網(wǎng)絡(luò)內(nèi)所有設(shè)備對應(yīng) OUTPUT 輸出 IO 進行控制。
比如,組網(wǎng)后,如果想通過1號機的某個按鍵控制2號機的任意一個led怎么辦?
查資料可知:


組網(wǎng)短地址就是每個模塊在某個組網(wǎng)ID下的唯一識別地址。這里有時也叫模塊短地址,我這4個模塊短地址分別為1號機:32EB,2號機:3268,3號機:3287,4號機:326B

組網(wǎng)短地址默認 MAC 地址后 2 字節(jié),組網(wǎng)短地址對模塊
本身來說就是本機地址!
**Kx目標短地址可以相同。**目標短地址就是本機想控制的一個或多個主機的層樓的燈開關(guān)編號,編號相同的被控制


通過以上指令查詢各個模塊的本機地址:
1號機:32EB,2號機:3268,3號機:3287,4號機:326B
想通1號機的KEY5,來控制2號機的OUTPUT2,同時串口打印出0或1
串口發(fā)送給1號機的指令:AT+KEY5,3268,2,1
2號機不用設(shè)置,還采用默認的配置。

串口配置如下:

AT測試
AT+NETID 查ID
AT+MADDR 查本機地址
AT+KEY5,3268,2,1設(shè)置本機控制它機
AT+KEY5 查本機控制哪機
現(xiàn)象如下:

串口并沒有輸出0或1,但是2號機OUTPUT2輸出正常,其他機對應(yīng)的OUTPUT沒有被KEY5控制,成功!,1號機的其他按鍵和第一部分一樣,可以相互控制。

想通1號機的KEY5,來控制2號機的OUTPUTx,同時串口打印出0或1(實際無反應(yīng)),每次得修改指令,通過一個按鍵控制2號機的所有OUTPUT,
串口發(fā)送給1號機的指令:AT+KEY5,3268,1,1
串口發(fā)送給1號機的指令:AT+KEY5,3268,2,1
串口發(fā)送給1號機的指令:AT+KEY5,3268,3,1
串口發(fā)送給1號機的指令:AT+KEY5,3268,4,1
串口發(fā)送給1號機的指令:AT+KEY5,3268,5,1
觀察現(xiàn)象,發(fā)現(xiàn)對應(yīng)的OUTPUT正常。
再試試
AT+KEY1,3268,1,1,通過1號機的KEY1,控制2號機的OUTPUT1
觀察現(xiàn)象,發(fā)現(xiàn)對應(yīng)的OUTPUT1正常,但我按的按鍵8腳的按鍵!
根據(jù)這個測試,可以說明第一部分提出的
發(fā)現(xiàn)KEY1和KEY2或者OUTPUT1和OUTPUT2對應(yīng)不了是KEY1和KEY2引腳標反了,應(yīng)該如下:


留下一個疑問:FFFF是不是廣播地址?
提出該疑問的原因:比如通過串口給1號機發(fā)送AT+KEY1,3268,1,1,當(dāng)1號機的KEY1按鍵不用默認的目標地址而用2號機的本機地址3268時,KEY1只能控制2號機的OUTPUT1,而1號機其他的KEY2,KEY3,KEY4,采用的是默認目標地址FFFF,可以控制所有模塊對應(yīng)的的OUTPUT

注意此模式為非學(xué)習(xí)模式按鍵開關(guān)與輸出 IO 控制,AT+LEARN0 與AT+SUBTYPE0 都設(shè)置為 0,默認設(shè)置是組網(wǎng)模式,如果不是,記得更改,
組網(wǎng) IO 控制指令如下:
AT+ROLE5
AT+RESET

**

實驗二:組網(wǎng)開關(guān)面板應(yīng)用——一個KEY控制多個OUTPUT

**

舉例:
如何通過1號機的一個按鍵同時控制2號機的若干個led?
查閱資料:



可知有兩種方式:一種是通過按下按鍵,一個設(shè)置為發(fā)碼者,一個設(shè)置為學(xué)習(xí)者
另一種是通過串口發(fā)送指令。

第一種,通過按鍵:

通過按鍵是前提為1號機和2號機都得是 AT+SUBTYPE1 與 AT+LEARN1 ,如果不是,還是得用串口配置成, AT+SUBTYPE1 與 AT+LEARN1 :

舉例:
想通過1號機的KEY5控制2號機的所有l(wèi)ed
按一次PWRC,實際上就是接地然后立馬松開,因為我這個板子沒有把PWRC設(shè)計成按鍵,所以用杜邦線一端接地,一端接PWRC,然后立馬斷開。

確定1號機和2號機都是 AT+SUBTYPE1 與 AT+LEARN1 后:
1號機:按一次PWRC,ALRD燈進入慢閃(比開始慢了一點)稱為發(fā)碼者,也就是控制者。
2號機:連續(xù)快速按2次PWRC,ALRD燈關(guān)閉,STAT燈點亮并慢閃,其他5個OUTPUT燈也一起慢閃。進入了學(xué)習(xí)者,也就是被控制者。
下面依次選擇(順序隨便)想被1號機點亮led,然后按下1號機的控制按鍵,我想2號機的led全部被1號機的一個按鍵KEY5控制:

2號機:按下KEY5,對應(yīng)的led5(OUTPUT5)被點亮并閃爍,其他燈熄滅
1號機:按下KEY5,1號機對應(yīng)的led5(OUTPUT5)點亮并常亮,此時2號機的led5(OUTPUT5)也由閃爍變成常亮,說明2號機的led3已經(jīng)學(xué)到了1號機的KEY5按鍵,知道了等下它由1號機的KEY5控制。

2號機:按下KEY4,對應(yīng)的led4(OUTPUT4)被點亮并閃爍,其他燈熄滅
1號機:按下KEY5,1號機對應(yīng)的led5(OUTPUT5)熄滅,因為關(guān)聯(lián)了,開始是亮現(xiàn)在變成滅,此時2號機的led4(OUTPUT4)也由閃爍變成常亮,說明2號機的led4已經(jīng)學(xué)到了1號機的KEY5按鍵,知道了等下它由1號機的KEY5控制。

2號機:按下KEY3,對應(yīng)的led3(OUTPUT3)被點亮并閃爍,其他燈熄滅
1號機:按下KEY5,1號機對應(yīng)的led5(OUTPUT5)點亮并常亮,因為關(guān)聯(lián)了,開始是滅現(xiàn)在變成亮,此時2號機的led3(OUTPUT3)也由閃爍變成常亮,說明2號機的led3已經(jīng)學(xué)到了1號機的KEY5按鍵,知道了等下它由1號機的KEY5控制。
.。。。。。
。。。。。。
配置好后,1號機退出發(fā)碼者模式,2號機退出學(xué)習(xí)者模式,退出方式和進入方式一致:
1號機:短按一下,只有ALED閃爍,說明退出了碼者模式
2號機:快速連續(xù)按兩下,只有ALED閃爍,說明退出學(xué)習(xí)者模式
最后可以用1號機的KEY5控制2號機的所有l(wèi)ed
1號機按下KEY5前:

1號機按下KEY5后:

用串口查詢了一下1號機和2號機,它們還是AT+LEARN=1,AT+SUBTYPE=1
發(fā)現(xiàn)這個網(wǎng)絡(luò)中,3號機和4號機不受1號機和2號機控制,而3號機和4號機可以控制網(wǎng)絡(luò)中所有的led,包括1號機和2號機的led,比如3號機KEY3按下,1號機、2號機和4號機的led3被控制。1號機除KEY5外的其他按鍵,只能控制它自己的led,2號機所有按鍵,只能控制它自己的led
可見:1號機和2號機獨立又聯(lián)系著整個網(wǎng)絡(luò)

那1號機的KEY4,還能不能控制3號機的若干個led呢?
確定3號機和1號機是 AT+SUBTYPE1 與 AT+LEARN1 后,把3號機也設(shè)置成學(xué)習(xí)者,把1號機設(shè)置成發(fā)碼者,結(jié)果是

這個時候,只有4號機機可以控制其他三個機的led,其他3個不能控制4號機的led。**這種情況是不是因為AT+LEARN1和AT+SUBTYPE1呢??**后面再證實吧!
千萬注意一點,設(shè)置為發(fā)碼或者學(xué)習(xí)者后,按按鍵的過程中,兩個模塊不能斷開連接,因為我是杜邦線,接觸不好,不小心就斷電關(guān)機重啟,這個時候需要重新按PWRC設(shè)置,AT+LEARN和AT+SUBTYPE還是等于1的,已經(jīng)存儲了,不用再設(shè)置

下面全部恢復(fù)出廠設(shè)置,使用第二種純串口的方法
第二種,通過串口:


舉例還是:
想通過1號機的KEY5控制2號機的所有l(wèi)ed
1號機,就是資料所說的的遠程機(控制端),2號機就是當(dāng)前設(shè)備(被控端)
開始是這樣的,2號機我采用資料所說的方法配置:
一,AT+DEFAULT 先發(fā)恢復(fù)默認設(shè)置,再重新設(shè)置
二,AT+LEAVAL1,5,32EB //把2號機的OUTPUT1交給1號機(模塊短地址為32EB)KEY5控制
AT+LEAVAL2,5,32EB //把2號機的OUTPUT2交給1號機(模塊短地址為32EB)KEY5控制
AT+LEAVAL3,5,32EB//把2號機的OUTPUT3交給1號機(模塊短地址為32EB)KEY5控制
AT+LEAVAL4,5,32EB//把2號機的OUTPUT4交給1號機(模塊短地址為32EB)KEY5控制
AT+LEAVAL5,5,32EB//把2號機的OUTPUT5交給1號機(模塊短地址為32EB)KEY5控制
那么1號機呢?采用默認設(shè)置??
答:不行

資料沒有說清除,其實是這樣的“

如果1號機不進行設(shè)置AT+LEARN1(AT+SUBTYPE=1可設(shè)可不設(shè))設(shè)置,也就是不進入學(xué)習(xí)模式的話,那它的KEY作用就是默認的AT+KEYx,FFFF,1,1功能(我理解為全網(wǎng)平行控制,也就是KEYx控制網(wǎng)絡(luò)中所有的對應(yīng)的OUTPUTx),讓我想到了前面的疑問:這種情況是不是因為AT+LEARN1和AT+SUBTYPE1呢??我認為平行全網(wǎng)控制中,AT+LEARN0的設(shè)備,也就是非學(xué)習(xí)者,可以控制非學(xué)習(xí)者和學(xué)習(xí)者,而學(xué)習(xí)者只能控制學(xué)習(xí)者,但是我要的是1號機的KEY5控制2號機的所有l(wèi)ed,這種一個按鍵控制多個led的功能,就要取消KEY5的全網(wǎng)控制功能,將1號機切換為學(xué)習(xí)模式,串口向1號機發(fā)送AT+LEARN1

簡而言之,就是想要一對多控制。雙方都要是學(xué)習(xí)者模式AT+LEARN1,如果涉及到N方,那N個模塊都要是AT+LEARN1控制方AT+SUBTYPE=1可設(shè)可不設(shè),被控方一定要設(shè)置!,在被控端發(fā)送指令:AT+LEAVALx,5,32EB,即,將被控端的OUTPUTx控制權(quán)給控制端(組網(wǎng)短號/模塊短號為32EB)的KEY5
要想一對一,控制端采用非學(xué)習(xí)者模式,通過AT+KEY5設(shè)置控制端,比如:AT+KEY5,3268,2,1,即利用控制端的KEY5,來控制被控端(組網(wǎng)短號/模塊短號為3268)的OUTPUT2,同時串口打印出0或1(實測為1也不打印)

**

實驗3:未組網(wǎng)模式下 APP 控制模塊的 OUTPU 引腳

**



因為AT+ROLE0、AT+ROLE3、AT+ROLE6、AT+ROLE7 模式下支持 APP 直接控制 OUTPUT 引腳電平
先通過串口配置一下:
AT+ROLE0,從機(APP、微信、小程序)透傳

總結(jié)

以上是生活随笔為你收集整理的JDY-24M 超级 BLE 蓝牙模块——理解与实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。