莫永華,艾英明,李立璋
(桂林電子科技大學信息科技學院,桂林541004)
防止老人走失的手機NFC系統設計
莫永華,艾英明,李立璋
(桂林電子科技大學信息科技學院,桂林541004)
隨著我國老齡化到來,針對老人走失情況增多的社會問題,通過對NFC通信技術研究,設計可穿戴NFC標簽,給出物聯網環境下老人看護的一種解決方案,結合Android智能手機便捷讀取NFC標簽,實現響應式Web老人看護系統,給走失老人提供一種新技術幫助。
物聯網;NFC標簽;老人看護
時間來到21世紀的第二個十年,中國社會人口老齡化趨勢進一步加劇,退休老人看護問題伴隨著城市化發展,成為老人子女們必須面對的難題。20世紀后二十年的中國家庭大都是獨生子女,子女長大工作后與老人不再一個城市居住變得十分普遍,不能相伴照料老人,一旦老人換上老年疾病或是記憶減退、癡呆情況,這些老人更離不開兒女們的看護照料,老人的日常生活無法自理,生活中買菜、散步都會導致走失,無法回到居住地。老人走失的尋人啟事在地方報刊、QQ群、微信里日益增多,每天都會發生,據2016年重陽節發布的《中國老年人走失狀況白皮書》在全國范圍內每年走失的老人有五十萬之多,老人走失現象已經成為當下社會迫切需要解決的問題。利用現代通信技術和互聯網提供一種解決老人走失難題的方法,NFC通信技術結合Android移動手機幫助老年人,讓老人享受到現代科技的服務,子女也多了一種關愛老人的途徑。在Android智能終端手機普遍使用的環境下,基于NFC通信技術設計輕便的老人看護系統,可以有效地防止老人走失,成為子女的好助手。
老人看護系統有三個部分組成,如圖1 NFC老人看護系統,第1部分是方便老人攜帶的NFC標簽,第2部分是移動Android支持NFC功能的手機,在系統中是發現走失老人的路人普遍具備的,第3部分是應用服務器提供系統管理。下面對第1部分可穿戴NFC標簽進行設計。

圖1 NFC老人看護系統應用
老人看護系統NFC標簽采用數據交換格式NDEF(NFC Data Exchange Format),具體應用IC type NTAG216類型標簽,設計完全符合NFCForum類型2標簽和ISO/IEC14443類型A規范。系統需要在NFC標簽中存儲服務器URL頁面,并提供查詢老人信息的短記錄,以此設計NDEF消息的首字節如圖2,首字節為Byte0:D1,轉換比特為0xD1=11010001B,MB比特位為1說明是首記錄,ME比特位為1表示最后記錄,即沒有其他更多記錄,CF比特位為0表示沒有被切塊,SR比特位為1表示PAYLOAD LENGTH是短記錄,只有1字節,IL比特位為0表示沒有ID_LENGTH和ID域設計,TNF為1表示設計類型為NFC Forum well-known類型。

圖2 NDEF消息的首字節設計
在系統中實現NDEF消息讀取與解析,Android讀寫NFC的步驟:首先應用程序啟用NFC功能,要在AndroidManifest.xm l文件配置
讀取NFC標簽中NDEF格式的記錄信息。實現代碼如下:
privateboolean readTag(Intent intent){
Parcelable[]testArray=getIntent().getParcelableArrayEx?tra(NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage testMess=(NdefMessage)testArray[0];
//程序中分析1個NdefMessage對象
NdefRecord testRecord=testMess.getRecords()[0];
//程序中分析1個NdefRecord對象
try{
if(testRecord!=null){
readResult=new String(testRecord.getPayload(),"UTF-8");
return true;
}}
catch(Exception e){
e.printStackTrace();
};
return false;
}
近距離無線通信(Near Field Communication)是一種高頻通信技術,由非接觸式射頻識別(RFID)及互連技術演變而來,最早由三家國際通信公司:恩智浦NXP半導體公司、諾基亞和索尼共同研制開發。NFC技術特點:工作在13.56MHz的頻率,10cm的短距離通信,106Kbit/秒、212Kbit/秒和424Kbit/秒三種傳輸速度。其通信原理是基于感應近場,在近場區域內中,感應場強弱與電磁輻射源以及天線的距離相關,近則強遠則弱,適合短距離通信的應用場合。NFC技術有兩種讀取模式:主動和被動。在主動模式下,兩個設備發起端(標簽設備)和目標端(閱讀器)都必須發射出自己本身射頻場,這樣它們才可以向對方系統設備之間發送數據。另一種被動模式,它區別與主動模式的是只有一方提供射頻場,提供射頻場的都是通信發起端設備,另一端目標方不需要產生射頻場,目標方設備能量的產生是由發起方射頻場的感應電動勢進行供電,目標端使用負載調制的方式,以相同的速率將數據回傳給發起端設備。在整個雙方通信過程中發起方設備的射頻場必須存在,一旦關閉目標端設備的供電就會結束,數據交換就無法進行。本系統采用被動讀取模式。
支持NFC通信的智能手機根據應用場合不同可以分為三種NFC通信工作模式,第1種在兩個手機之間實現點對點模式;第2種手機實現讀卡器功能的讀卡器模式;第三種把手機當做NFC卡功能的卡模擬模式。本系統設計采用第2種工作模式:讀卡器模式(Read/W rite Mode),這種工作模式下NFC設備可以對外部的非接觸式NFC卡片進行讀寫。
Android手機讀寫NFC標簽,并打開標簽的URL,顯示老人信息和上報消息。如下圖:

圖3 Android手機NFC通信設計
本系統的數據庫設計與管理采用MySQL,數據庫表設計如圖4所示。根據系統需求主要設計了3個表。老人表elder包括老人身份信息、NFC-card編號和家人信息,家人表family定義老人兒女的基本信息,包括姓名、住址和電話。Report_event上報表定義發現丟失老人的信息,包括上報電話、地理位置和時間。這樣不僅可以很方便地查看走丟老人所處的地理位置,而且可以快速聯系到上報人。
實現老人信息表查詢頁面設計,代碼如下:
//連接數據庫
$mysqli=newmysqli('localhost','root','root','school');
$action_id=@$_REQUEST['action_id'];//定義功能
$card_id=@$_REQUEST['card_id'];
if($action_id)
{
if($action_id==1)//查詢老人信息
{
if($card_id)
{
$result=$mysqli->query("SELECT*FROM studentWHERE card_id=$card_id");
while($rowobj=$result->fetch_object()){
echo"姓名:".$rowobj->username."
";
echo"出生日期:".$rowobj->birthday."<
br>";
echo"家庭住址:".$rowobj->address."<
br>";
echo"聯系方式:".$rowobj->tel."
";
echo"家人電話:".$rowobj->my_mobile.
"
";
}
$result->close();
$mysqli->close();
}
}
}

圖4 NFC老人看護系統數據庫表設計
?>
老人看護系統還采用響應式網頁設計,方便在不同的分辨率和設備(臺式電腦、筆記本電腦、平板、手機)上適應顯示。主要設計包括:響應式布局和響應式內容。
下面給出使用viewportmeta標簽在手機瀏覽器上控制布局代碼:
響應式內容:響應式圖片、高分辨率(DPI)下的響應式處理。由CSSMedia Queries來適配出合理圖形,用設備類型(media type)設計如下代碼:
/*屏幕的寬度小于640時*/
@media only screen and(max-width:640px){
.layout-100-50>div,.layout-100-85>div,.layout-100-335,.layout-100-360>div,.layout-100-630>div>div{padding: 0px;}
}
/*屏幕的寬度大于640時*/
@media only screen and(min-width:640px){
.layout-100-50>div,.layout-100-85>div,.layout-100-335,.layout-100-360>div,.layout-100-630>div>div{padding: 0px;}
.layout-100-50>div:last-child,.layout-100-85>div:lastchild,.layout-100-630>div:nth-child(2),.layout-100-360>div: nth-child(2),.layout-100-335>div:nth-child(2){paddingleft:10px!important;}
.layout-100-335>div:nth-child(2),.layout-100-360>div: nth-child(2),.layout-100-630>div:nth-child(2){paddingright:10px!important;}
.view-save.am-form-group{width:70%!important;}
}
NFC老人看護后臺管理功能的響應式網頁設計測試,實現如下圖:

圖5 NFC老人看護后臺管理測試
采用NFC技術,提供一種方便利用Android手機上報走失老人消息的系統設計,幫助老人的兒女找回老人。系統設計實現了Android智能手機有效讀取老人隨身攜帶的NFC標簽,并發送老人丟失消息到服務器,Web服務器采用響應式頁面設計,方便路人上報和實踐操作,給走失老人提供了一種新技術幫助。
[1]王震,劉智斌.基于物聯網的養老院管理系統設計與實現[J].計算機與現代化,2012.6.
[2]趙波.Android NFC開發實戰詳解[M].北京:人民郵電出版社,2014.05.
[3]王淼.NFC技術原理與應用[M].北京:化學工業出版社,2014.07.
Design of Elderly Care System Based on NFC Technology
MOYong-hua,AIYing-ming,LIli-zhang
(Institute of Information&Technology,Guilin University of Electronic Technology,Guilin 541004)
With China'saging,theoldman lostmorewillbecome a social problem,designsan elderly care system based on IoT technology,uses NFC communication technology,designs thewearable NFC tagswith Android intelligentmobile phone convenient to read NFC tags,realizes the responsiveWeb design of the elderly care system,providesa lostman a new technology to help.
莫永華(1978-),男,廣西桂林人,研究生,講師,研究方向為計算機網絡及物聯網工程應用
2017-05-04
2017-07-25
廣西高校科研自然科學類項目資助(No.KY2015YB502)
1007-1423(2017)22-0061-05
10.3969/j.issn.1007-1423.2017.22.015
艾英明(1994-),男,湖南永州市人,本科,研究方向為軟件工程技術
李立璋(1997-),男,陜西寶雞市人,本科,研究方向為網絡工程技術
Internetof Things;NFCTags;Care for the Elderly