專利名稱:一種無(wú)線電子骰子游戲系統(tǒng)的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以IEEE 802. 15. 4協(xié)議為基礎(chǔ)的無(wú)線星型網(wǎng)絡(luò)游戲系統(tǒng),特別是一種無(wú)線電子骰子游戲系統(tǒng)的實(shí)現(xiàn)方法。
背景技術(shù):
目前市 場(chǎng)上使用到骰子的游戲有兩種,一種是實(shí)際的骰子,用戶可以拋擲,并讀取朝上一面的點(diǎn)數(shù),然后繼續(xù)游戲,用戶需要備有其他物品以供游戲使用,這期間不涉及電子設(shè)備如PC、pad的使用。另一種是在PC或pad上模擬骰子,所有游戲過(guò)程均在電子設(shè)備上實(shí)現(xiàn),用戶只需要有一個(gè)PC或pad,不需要其他任何物品。但對(duì)于很多人來(lái)說(shuō),還是希望能夠拋擲實(shí)際的骰子,但又最好不需要準(zhǔn)備其他物品,除了拋擲骰子外,其他游戲過(guò)程均可在電子設(shè)備上實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種實(shí)現(xiàn)無(wú)線電子骰子游戲系統(tǒng)的方法,該方法可使用戶拋擲實(shí)際的骰子,但游戲的其他過(guò)程均在電子設(shè)備PC或pad上實(shí)現(xiàn)。實(shí)現(xiàn)本發(fā)明目的的具體技術(shù)方案是
一種無(wú)線電子骰子游戲系統(tǒng)的實(shí)現(xiàn)方法,該方法包括以下具體步驟
a、設(shè)置無(wú)線電子骰子
無(wú)線電子骰子由一個(gè)中空殼體和一塊電路板組成,電路板設(shè)置在中空殼體內(nèi),中空殼體表面分別設(shè)有不同點(diǎn)數(shù),電路板由一個(gè)帶有無(wú)線射頻模塊的低功耗微控制器及一個(gè)重力加速度傳感器組成,使用鈕扣電池供電,低功耗微控制器和重力加速度傳感器之間采用I2C接口進(jìn)行通信;
b、設(shè)置USB無(wú)線適配器
USB無(wú)線適配器由一個(gè)塑料外殼和一塊電路板組成,電路板設(shè)置于塑料外殼內(nèi),電路板由一個(gè)帶有無(wú)線射頻模塊的低功耗微控制器及一個(gè)USB轉(zhuǎn)串口芯片組成,使用USB供電,低功耗微控制器和USB轉(zhuǎn)串口芯片之間采用UART接口進(jìn)行通信;
C、設(shè)置輔助設(shè)備 采用PC或pad為輔助設(shè)備; d、通訊方式
無(wú)線骰子與USB無(wú)線適配器之間采用802. 15. 4網(wǎng)絡(luò)進(jìn)行通信;USB無(wú)線適配器與電子設(shè)備之間采用USB接口進(jìn)行通信;
e、實(shí)施游戲
i、通電后,無(wú)線電子骰子進(jìn)入802. 15. 4網(wǎng)絡(luò);USB無(wú)線適配器連接電子輔助設(shè)備后,收到用戶的啟動(dòng)命令后,再加入802. 15. 4網(wǎng)絡(luò);
、用戶拋擲無(wú)線電子骰子,重力加速度傳感器發(fā)送中斷信號(hào)給低功耗微控制器,該微控制器執(zhí)行感應(yīng)算法,計(jì)算無(wú)線電子骰子動(dòng)作、點(diǎn)數(shù),并將結(jié)果通過(guò)網(wǎng)絡(luò)發(fā)送給USB無(wú)線適配器;
iii、USB無(wú)線適配器的 配對(duì)將所收到的無(wú)線電子骰子發(fā)送的消息傳遞給PC或pad用戶交互程序,以顯示給用戶;用戶決定與哪些無(wú)線電子骰子配對(duì),然后發(fā)送命令給USB無(wú)線適配器,USB無(wú)線適配器將確定配對(duì)的無(wú)線電子骰子的唯一 ID寫(xiě)入flash ;
f、所有通過(guò)802. 15. 4網(wǎng)絡(luò)傳遞的消息進(jìn)行AES加密。所述微控制器執(zhí)行感應(yīng)算法是無(wú)線電子骰子每拋擲一次,重力加速度傳感器檢測(cè)到后,便發(fā)送一次中斷信號(hào)給低功耗微控制器,低功耗微控制器便設(shè)置一次定時(shí)器,當(dāng)定時(shí)器到時(shí)后,低功耗微控制器讀取N次重力加速度傳感器的X軸、y軸、z軸的加速度值,若某個(gè)軸加速度的第一次和第N次的差值小于V,則判斷無(wú)線電子骰子的拋擲過(guò)程結(jié)束,低功耗微控制器讀取重力加速度傳感器的點(diǎn)數(shù)即無(wú)線電子骰子的點(diǎn)數(shù)。本發(fā)明可使用戶拋擲實(shí)際的骰子,但游戲的其他過(guò)程均在電子設(shè)備PC或pad上實(shí)現(xiàn)。
圖I為本發(fā)明系統(tǒng)框 圖2為本發(fā)明無(wú)線電子骰子內(nèi)部結(jié)構(gòu)框 圖3為本發(fā)明USB無(wú)線適配器結(jié)構(gòu)框圖。
具體實(shí)施例方式參閱圖1,本發(fā)明的系統(tǒng)包括無(wú)線電子骰子、USB無(wú)線適配器和PC或pad。骰子是由用戶拋擲的實(shí)際的骰子,USB無(wú)線適配器是插在PC或pad上的接收設(shè)備。當(dāng)用戶將無(wú)線電子骰子拋擲完畢后,無(wú)線電子骰子能夠檢測(cè)到當(dāng)前的點(diǎn)數(shù),然后通過(guò)IEEE 802. 15. 4無(wú)線網(wǎng)絡(luò)將點(diǎn)數(shù)發(fā)送給USB無(wú)線適配器,USB無(wú)線適配器再將點(diǎn)數(shù)傳送給PC或pad程序。無(wú)線電子骰子和USB無(wú)線適配器之間使用802. 15. 4網(wǎng)絡(luò)進(jìn)行通信,USB無(wú)線適配器和PC或pad之間使用USB接口進(jìn)行通信。參閱圖2,本發(fā)明的無(wú)線電子骰子由一個(gè)中空殼體和一塊電路板組成,電路板設(shè)置在中空殼體內(nèi),電路板由一個(gè)帶有無(wú)線射頻模塊的低功耗微控制器及一個(gè)重力加速度傳感器組成,使用鈕扣電池供電,低功耗微控制器和重力加速度傳感器之間采用I2C接口進(jìn)行通信;
軟件部分使用IEEE 802. 15. 4協(xié)議作為物理層和鏈路層模型,并在此基礎(chǔ)上開(kāi)發(fā)了應(yīng)用層功能。軟件功能均在低功耗微控制器中實(shí)現(xiàn)。給鈕扣電池充電,到達(dá)無(wú)線電子骰子的低功耗微控制器的工作電壓后,無(wú)線電子骰子開(kāi)始工作。首先,無(wú)線電子骰子進(jìn)入網(wǎng)絡(luò)ID為0x8001(該值可以改變)、網(wǎng)絡(luò)信道為26(該值可以改變)的IEEE 802. 15. 4網(wǎng)絡(luò),并生成一個(gè)16位的隨機(jī)數(shù)作為自己的網(wǎng)絡(luò)地址。由于無(wú)線電子骰子是電池供電,所以為了節(jié)約電量,無(wú)線電子骰子將進(jìn)入睡眠模式。當(dāng)用戶拋擲無(wú)線電子骰子時(shí),重力加速度傳感器檢測(cè)到翻轉(zhuǎn),就會(huì)發(fā)送中斷信號(hào)給低功耗微控制器,該微控制器從睡眠中醒來(lái),并設(shè)定一個(gè)定時(shí)IOOms的定時(shí)器。如果定時(shí)器到時(shí)之前微控制器又收到了一個(gè)從重力加速度傳感器傳來(lái)的中斷信號(hào),則微控制器重新設(shè)定定時(shí)器,即從此刻開(kāi)始定時(shí)100ms。當(dāng)定時(shí)器到時(shí)后,微控制器讀取N次重力加速度傳感器的X軸、y軸、Z軸的加速度值,如果某個(gè)軸加速度的第一次和第N次的差值小于V,則判斷無(wú)線電子骰子的拋擲過(guò)程已經(jīng)結(jié)束了,微控制器就讀取重力加速度傳感器的點(diǎn)數(shù),并發(fā)送給USB無(wú)線適配器。如果三個(gè)軸加速度的第一次和第N次的差值都不小于V,則判斷骰子的拋擲過(guò)程還未結(jié)束,不發(fā)送任何信息給USB無(wú)線適配器。無(wú)論哪種情況,無(wú)線電子骰子都將返回睡眠模式。無(wú)線電子骰子發(fā)送給USB無(wú)線適配器的消息中除了當(dāng)前的點(diǎn)數(shù)外,還有自己的擴(kuò)展地址(全球唯一的ID)及當(dāng)前電池剩余電量。骰子發(fā)送消息之前先使用AES算法將消息加密。參閱圖3,本發(fā)明的USB無(wú)線適配器由一個(gè)塑料外殼和一塊電路板組成,電路板設(shè)置于塑料外殼內(nèi),電路板由一個(gè)帶有無(wú)線射頻模塊的低功耗微控制器及一個(gè)USB轉(zhuǎn)串口芯 片組成,使用USB供電,低功耗微控制器和USB轉(zhuǎn)串口芯片之間采用UART接口進(jìn)行通信。軟件部分使用IEEE 802. 15. 4協(xié)議作為物理層和鏈路層模型,并在此基礎(chǔ)上開(kāi)發(fā)了應(yīng)用層功能。軟件功能均在微控制器中實(shí)現(xiàn)。USB無(wú)線適配器插入PC或pad后,PC或pad通過(guò)USB接口為其供電。USB無(wú)線適配器不會(huì)自動(dòng)加入網(wǎng)絡(luò),也不進(jìn)入睡眠模式。用戶通過(guò)PC或pad用戶交互程序向USB無(wú)線適配器發(fā)送命令啟動(dòng)USB無(wú)線適配器、進(jìn)入配對(duì)狀態(tài)、查看配對(duì)表、取消配對(duì)、退出配對(duì)狀態(tài)、關(guān)閉USB無(wú)線適配器。USB轉(zhuǎn)串口芯片能夠在PC或pad上實(shí)現(xiàn)一個(gè)虛擬串口,使得USB無(wú)線適配器和PC或pad在硬件上通過(guò)USB接口連接,但在軟件上使用串口通信。收到啟動(dòng)USB無(wú)線適配器命令后,USB無(wú)線適配器將加入網(wǎng)絡(luò),ID為0x8001、網(wǎng)絡(luò)信道為26的IEEE 802. 15. 4網(wǎng)絡(luò),并選擇0x0000作為自己的網(wǎng)絡(luò)地址。收到進(jìn)入配對(duì)狀態(tài)命令后,USB無(wú)線適配器將進(jìn)入配對(duì)狀態(tài),此時(shí)USB無(wú)線適配器將會(huì)把所有無(wú)線電子骰子發(fā)送的消息都發(fā)送給PC或pad用戶交互程序。收到查看配對(duì)表命令后,USB無(wú)線適配器將會(huì)把自己flash中的配對(duì)表發(fā)送給PC或pad用戶交互程序。收到取消配對(duì)命令后,USB無(wú)線適配器將會(huì)把PC或pad用戶交互程序指定的某條配對(duì)信息從配對(duì)表中刪除。收到退出配對(duì)狀態(tài)命令后,USB無(wú)線適配器將會(huì)退出配對(duì)狀態(tài),用戶可以選擇是否把新的配對(duì)表寫(xiě)入flash,此時(shí)USB無(wú)線適配器只會(huì)把位于配對(duì)表中的無(wú)線電子骰子發(fā)送的消息發(fā)送給PC或pad用戶交互程序。收到關(guān)閉USB無(wú)線適配器消息后,USB無(wú)線適配器將不再把接收到的消息發(fā)送給PC或pad用戶交互程序。接收到無(wú)線電子骰子發(fā)送的消息后,USB無(wú)線適配器首先使用AES算法進(jìn)行解密。如果USB無(wú)線適配器在配對(duì)狀態(tài),則將消息發(fā)送給PC或pad用戶交互程序,如果USB無(wú)線適配器不在配對(duì)狀態(tài),則查看配對(duì)表,判斷發(fā)送消息的無(wú)線電子骰子的擴(kuò)展地址是否在配對(duì)表中,如果在,就發(fā)送消息給PC或pad用戶交互程序,否則,就忽略這個(gè)消息。配對(duì)表中存有與該USB無(wú)線適配器配對(duì)過(guò)的無(wú)線電子骰子的擴(kuò)展地址。配對(duì)表一共能夠存儲(chǔ)三個(gè)這樣的地址,即一個(gè)USB無(wú)線適配器能與三個(gè)骰子配對(duì)。
實(shí)施例
無(wú)線電子骰子通電后進(jìn)入ID為0x8001、網(wǎng)絡(luò)信道為26的IEEE 802. 15. 4網(wǎng)絡(luò),并生成一個(gè)16位的隨機(jī)數(shù)作為自己的網(wǎng)絡(luò)地址。然后進(jìn)入睡眠狀態(tài)。拋擲無(wú)線電子骰子,重力加速度傳感器檢測(cè)到轉(zhuǎn)動(dòng)后,發(fā)送中斷信號(hào)給微處理器,微處理器從睡眠中醒來(lái),然后設(shè)置定時(shí)器定時(shí)100ms。如果定時(shí)器到時(shí)之前微控制器又收到了一個(gè)從重力加速度傳感器傳來(lái)的中斷信號(hào),則微控制器重新設(shè)定定時(shí)器,即從此刻開(kāi)始定時(shí)100ms。當(dāng)定時(shí)器到時(shí)后,微控制器讀取20次重力加速度傳感器的X軸、y軸、z軸的加速度值,如果某個(gè)軸加速度的第一次和第20次的差值小于0x0100,則判斷骰子的拋擲過(guò)程已經(jīng)結(jié)束了,微控制器就讀取重力加速度傳感器的點(diǎn)數(shù),并發(fā)送給USB無(wú)線適配器。如果三個(gè) 軸加速度的第一次和第20次的差值都不小于0x0100,則判斷骰子的拋擲過(guò)程還未結(jié)束,不發(fā)送任何信息給USB無(wú)線適配器。無(wú)線電子骰子發(fā)送給USB無(wú)線適配器的消息格式如下。
Octet*! I 2 Γ Γ 2 Γ 2 I 2 Γ~I~I I Γ~2 Γ 2 "
S mmmmm源&絡(luò)載荷源擴(kuò)展點(diǎn)數(shù)電量
制域列號(hào) pan 地址地址類型地址 ID
頭部I載#無(wú)線電子骰子發(fā)送消息之前先使用AES算法將載荷部分加密。定時(shí)器到時(shí)事件處理完畢后,無(wú)線電子骰子將返回睡眠模式。USB無(wú)線適配器插入PC后,首先配置串口,然后從flash中讀出配對(duì)表。然后等待PC用戶交互程序的命令或無(wú)線電子骰子發(fā)送消息。接收到無(wú)線電子骰子發(fā)送的消息后,USB無(wú)線適配器首先進(jìn)行AES解密。如果此時(shí)USB無(wú)線適配器處于配對(duì)狀態(tài),那么USB無(wú)線適配器就將這個(gè)骰子的擴(kuò)展地址存入臨時(shí)配對(duì)表中,并向PC用戶交互程序發(fā)送字符串“AT&索引&擴(kuò)展地址&點(diǎn)數(shù)&電量”。如果此時(shí)USB無(wú)線適配器不處在配對(duì)狀態(tài),那么USB無(wú)線適配器就判斷這個(gè)骰子的擴(kuò)展地址是否在配對(duì)表中,如果在,就向PC用戶交互程序發(fā)送字符串“AT&擴(kuò)展地址&點(diǎn)數(shù)&電量”,否則,就忽略這個(gè)消息。PC用戶交互程序收到USB無(wú)線適配器發(fā)送的消息后,將在游戲界面上顯示當(dāng)前骰子的點(diǎn)數(shù)及其電池電量。另外PC用戶交互程序還可以發(fā)送命令給USB無(wú)線適配器,命令定義如下。I)啟動(dòng)USB無(wú)線適配器
權(quán)利要求
1. 一種無(wú)線電子骰子游戲系統(tǒng)的實(shí)現(xiàn)方法,其特征在于該方法包括以下具體步驟 a、設(shè)置無(wú)線電子骰子 無(wú)線電子骰子由一個(gè)中空殼體和一塊電路板組成,電路板設(shè)置在中空殼體內(nèi),中空殼體表面分別設(shè)有不同點(diǎn)數(shù),電路板由一個(gè)帶有無(wú)線射頻模塊的低功耗微控制器及一個(gè)重力加速度傳感器組成,使用鈕扣電池供電,低功耗微控制器和重力加速度傳感器之間采用I2C接口進(jìn)行通信; b、設(shè)置USB無(wú)線適配器 USB無(wú)線適配器由一個(gè)塑料外殼和一塊電路板組成,電路板設(shè)置于塑料外殼內(nèi),電路板由一個(gè)帶有無(wú)線射頻模塊的低功耗微控制器及一個(gè)USB轉(zhuǎn)串口芯片組成,使用USB供電,低功耗微控制器和USB轉(zhuǎn)串口芯片之間采用UART接口進(jìn)行通信;C、設(shè)置輔助設(shè)備 采用PC或pad為輔助設(shè)備; d、通訊方式 無(wú)線骰子與USB無(wú)線適配器之間采用802. 15. 4網(wǎng)絡(luò)進(jìn)行通信;USB無(wú)線適配器與電子設(shè)備之間采用USB接口進(jìn)行通信;e、實(shí)施游戲 1、通電后,無(wú)線電子骰子進(jìn)入802.15.4網(wǎng)絡(luò);USB無(wú)線適配器連接輔助設(shè)備后,收到用戶的啟動(dòng)命令后,再加入802. 15.4網(wǎng)絡(luò); 、用戶拋擲無(wú)線電子骰子,重力加速度傳感器發(fā)送中斷信號(hào)給低功耗微控制器,該微控制器執(zhí)行感應(yīng)算法,計(jì)算無(wú)線電子骰子動(dòng)作、點(diǎn)數(shù),并將結(jié)果通過(guò)網(wǎng)絡(luò)發(fā)送給USB無(wú)線適配器; iii、USB無(wú)線適配器的配對(duì)將所收到的無(wú)線電子骰子發(fā)送的消息傳遞給PC或pad用戶交互程序,以顯示給用戶;用戶決定與哪些無(wú)線電子骰子配對(duì),然后發(fā)送命令給USB無(wú)線適配器,USB無(wú)線適配器將確定配對(duì)的無(wú)線電子骰子的唯一 ID寫(xiě)入flash ; f、所有通過(guò)802. 15. 4網(wǎng)絡(luò)傳遞的消息進(jìn)行AES加密。
2.根據(jù)權(quán)利要求I所述的實(shí)現(xiàn)方法,其特征在于所述微控制器執(zhí)行感應(yīng)算法是無(wú)線電子骰子每拋擲一次,重力加速度傳感器檢測(cè)到后,便發(fā)送一次中斷信號(hào)給低功耗微控制器,低功耗微控制器便設(shè)置一次定時(shí)器,當(dāng)定時(shí)器到時(shí)后,低功耗微控制器讀取N次重力加速度傳感器的X軸、y軸、z軸的加速度值,若某個(gè)軸加速度的第一次和第N次的差值小于V,則判斷無(wú)線電子骰子的拋擲過(guò)程結(jié)束,低功耗微控制器讀取重力加速度傳感器的點(diǎn)數(shù)即無(wú)線電子骰子的點(diǎn)數(shù)。
全文摘要
本發(fā)明公開(kāi)了一種無(wú)線電子骰子游戲系統(tǒng)的實(shí)現(xiàn)方法,該方法包括設(shè)置無(wú)線電子骰子、USB無(wú)線適配器和PC或pad,無(wú)線電子骰子是可拋擲的實(shí)際骰子,USB無(wú)線適配器是插在PC或pad上的接收設(shè)備。當(dāng)用戶將無(wú)線電子骰子拋擲完畢后,無(wú)線電子骰子能夠檢測(cè)到當(dāng)前的點(diǎn)數(shù),然后通過(guò)IEEE802.15.4無(wú)線網(wǎng)絡(luò)將點(diǎn)數(shù)發(fā)送給USB無(wú)線適配器,USB無(wú)線適配器再將點(diǎn)數(shù)傳送給PC或pad用戶交互程序。無(wú)線電子骰子和USB無(wú)線適配器之間使用802.15.4網(wǎng)絡(luò)進(jìn)行通信,USB無(wú)線適配器和PC或pad之間使用USB接口進(jìn)行通信。本發(fā)明可使用戶拋擲實(shí)際的骰子,但游戲的其他過(guò)程均在電子設(shè)備PC或pad上實(shí)現(xiàn)。
文檔編號(hào)A63F13/00GK102772896SQ201210206850
公開(kāi)日2012年11月14日 申請(qǐng)日期2012年6月21日 優(yōu)先權(quán)日2012年6月21日
發(fā)明者沈建華, 邢詩(shī)寧 申請(qǐng)人:華東師范大學(xué)