# NFC   这个模块用于实现动态 NFC 标签读写相关功能。 ## NFC初始化 ### 函数   nfc.init() ### 函数说明   初始化 `NFC` 组件,返回 `True` 则为初始化成功。初始化成功后NFC标签会自动写入初始文本`Hello,I`m Waffle Nano!`的字样。 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 ``` ## 写入URI链接 ### 函数   write_uri(uri_id, uri_string) ### 函数说明   向动态`NFC`模块写入 `URI` 链接信息,并覆盖之前所有历史标签信息。 ### 参数说明 #### uri_id   uri_id为uri类型,主要包含: ``` URI_ID_0x01 "http://www.\0" URI_ID_0x02 "https://www.\0" URI_ID_0x03 "http://\0" URI_ID_0x04 "https://\0" URI_ID_0x05 "tel:\0" URI_ID_0x06 "mailto:\0" URI_ID_0x07 "ftp://anonymous:anonymous@\0" URI_ID_0x08 "ftp://ftp.\0" URI_ID_0x09 "ftps://\0" URI_ID_0x0A "sftp://\0" URI_ID_0x0B "smb://\0" URI_ID_0x0C "nfs://\0" URI_ID_0x0D "ftp://\0" URI_ID_0x0E "dav://\0" URI_ID_0x0F "news:\0" URI_ID_0x10 "telnet://\0" URI_ID_0x11 "imap:\0" URI_ID_0x12 "rtsp://\0" URI_ID_0x13 "urn:\0" URI_ID_0x14 "pop:\0" URI_ID_0x15 "sip:\0" URI_ID_0x16 "sips:\0" URI_ID_0x17 "tftp:\0" URI_ID_0x18 "btspp://\0" URI_ID_0x19 "btl2cap://\0" URI_ID_0x1A "btgoep://\0" URI_ID_0x1B "tcpobex://\0" URI_ID_0x1C "irdaobex://\0" URI_ID_0x1D "file://\0" URI_ID_0x1E "urn:epc:id:\0" URI_ID_0x1F "urn:epc:tag\0" URI_ID_0x20 "urn:epc:pat:\0" URI_ID_0x21 "urn:epc:raw:\0" URI_ID_0x22 "urn:epc:\0" URI_ID_0x23 "urn:nfc:\0" ``` #### uri_string   uri 链接字符串 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 nfc.write_uri(nfc.URI_ID_0x02 , "gitee.com/blackwalnutlabs/waffle_nano_v1_python_api_document") ##链接到API手册地址 ``` ## 写入TEXT文本标签 ### 函数   write_text(string) ### 函数说明   向动态`NFC`模块写入文本标签信息,并覆盖之前所有历史标签信息,且文本信息长度不宜超过500字节。 ### 参数说明   标签文本字符串。 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 nfc.write_text("Hello,I`m Waffle Nano!") ##写入TEXT标签 ``` ## 写入包名标签   write_aar(package_name) ### 函数说明   向动态`NFC`模块写入程序包名标签信息用于打开包名所指的手机应用,并覆盖之前所有历史标签信息。 ### 参数说明   包名文本字符串。 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 nfc.write_aar("hello") ##写入包名 ``` ## 写入短信标签   write_sms(phone_number, message_string) ### 函数说明   向动态`NFC`模块写入短信号码和短信内容标签信息,并覆盖之前所有历史标签信息。 ### 参数说明   `phone_number`:短信手机号字符,`message_string`:短信内容字符串信息。 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 write_sms("12345678", "hello") ##向12345678发送`hello`字符串短信。 ``` ## 写入WIFI信息标签   write_wifi(ssid, encryption_type, auth_type, password) ### 函数说明   向动态`NFC`模块写入 `WiFi` 的账号、安全类型、加密方式和密码等WIFI标签信息,并覆盖之前所有历史标签信息。 ### 参数说明   加密方式配置 |encryption_type| |---| |WIFI_ENCRYPTION_AES| |WIFI_ENCRYPTION_NONE| |WIFI_ENCRYPTION_TKIP| |WIFI_ENCRYPTION_WEP|   安全类型配置 |encryption_type| |---| |WIFI_AUTH_OPEN| |WIFI_AUTH_SHARED| |WIFI_AUTH_WPA| |WIFI_AUTH_WPA2| |WIFI_AUTH_WPA2PSK| |WIFI_AUTH_WPAPSK|   `ssid` 为WIFI账号名字符串,`password`为WIFI密码名字符串。 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 nfc.write_wifi("waffle", nfc.WIFI_ENCRYPTION_AES, nfc.WIFI_AUTH_WPA2PSK, "12345678") ##连接一个名为waffle的wifi。 ``` ## 读取文本类型标签   `read_text()` ### 函数说明   读取当前NFC标签内的文本信息 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 nfc.write_text("Hello,I`m Waffle Nano!") ##写入TEXT标签 print(nfc.read_text()) ## 会打印显示`Hello,I`m Waffle Nano!` ``` ## 读取uri类型标签   `read_uri()` ### 函数说明   读取当前NFC标签内的uri信息 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 nfc.write_uri(nfc.URI_ID_0x02 , "gitee.com/blackwalnutlabs/waffle_nano_v1_python_api_document") ##链接到API手册地址 print(nfc.read_uri()) ## 会打印显示['https://www.', 'gitee.com/blackwalnutlabs/waffle_nano_v1_python_api_document'] ``` ## 读取wifi类型标签   `read_wifi()` ### 函数说明   读取当前NFC标签内的wifi信息 ### 函数示例 ```python import nfc ##导入NFC库 nfc.init() ##完成NFC初始化 nfc.write_wifi("waffle", nfc.WIFI_ENCRYPTION_AES, nfc.WIFI_AUTH_WPA2PSK, "12345678") ##连接一个名为waffle的wifi。 print(nfc.read_wifi()) ##显示['waffle', '12345678'] ```