UM3078-LOGO

UM3078 ST25DVXXKC Linux Mea hoʻohana Space Keaukaha

UM3078-ST25DVXXKC-Linux-User-Space-Driver-PRO

Hoʻolauna

Hōʻike kēia palapala pehea e hoʻohana ai i ka pūʻolo polokalamu STSW-ST25DV009 e hoʻomalu i kahi ST25DVXXKC dynamic NFC tag mai kahi kahua Linux®. Hāʻawi ka polokalamu STSW-ST25DV009 i ka mea hoʻohana kikowaena kikowaena Linux® a me kekahi mau examphiki ke hoʻonohonoho ʻia e holo ma kekahi kahua Linux®. ʻO ka ST25DVXXKC kahi hana NFC tag, hiki ke hoʻokele ʻia e ka mea heluhelu RFID a i ʻole ke kelepona NFC, loaʻa iā ia kahi interface I2C e kamaʻilio me kahi MCU a i ʻole MPU. Loaʻa ka ST25DVXXKC, no ka example, ma ka papa hoʻonui X-NUCLEO-NFC07A1. Loaʻa ka ʻike a me nā palapala e pili ana i nā ʻāpana NFC, ka papa hoʻonui X-NUCLEO‑NFC07A1 a me ka polokalamu STSWST25DV009 ma www.st.com.

Ke kumu

ST25DVXXKC ikaika NFC/RFID tags he mau kaapuni hoʻohui i hiki ke kamaʻilio me ʻelua:

  • Nā mea heluhelu RFID a me nā kelepona NFC, e pili ana i ka ISO/IEC 15693 a me NFC Forum Type 5 tag kikoʻī.
  • ʻO kahi MCU a i ʻole MPU e hoʻohana ana i kahi kikowaena I2C.

Hiki ke hoʻohana ʻia kēia mau mea hana ma kahi kahua Linux e hiki ai ke kamaʻilio kelepona, e hoʻololi maʻalahi i ka ʻikepili mai kahi kahua Linux i kahi atamai (e laʻa: URL, GPS hoʻonohonoho, Out-Of-Band pairing data, a pēlā aku). Hāʻawi ka pūʻolo lako polokalamu STSW‑ST25DV009 i ke code i koi ʻia e hoʻomalu i kahi mea ST25DVXXKC mai kahi mea hoʻohana o kahi kahua Linux me ka mana I2C.

Hoʻolālā polokalamu

Ua māhele ʻia ka polokalamu STSW-ST25DV009 i kekahi mau papa:

  • Keaukaha mea ST25DVXXKC
  • Pāke kākoʻo papa
  • NDEF waihona waihona waena
  • Sampnā code papahana

Keaukaha mea ST25DVXXKC
Hāʻawi ka mea hoʻokele mea ST25DVXXKC i nā ala e hoʻonohonoho a hoʻokele i kahi mea ST25DVXXKC. He kūʻokoʻa kēia ʻāpana o ke code mai ka ʻenehana, a pono ia e hoʻokō ʻia kekahi mau hana IO kumu (e nānā i ka ʻāpana 2.2 Papa kākoʻo pūʻulu) e like me ka I2C heluhelu/kākau, ka mana gpio. ʻO ka mea hoʻokele mea ST25DVXXKC fileAia i loko o ka papa kuhikuhi Drivers/BSP/Components/ST25DVxxKC.

Pāke kākoʻo papa
Hoʻokō ka pūʻolo kākoʻo papa ʻelua mau ʻano like ʻole:

  • ʻO nā hana IO haʻahaʻa i kapa ʻia e ka mea hoʻokele ʻāpana ST25DVXXKC
  • He API i nā ʻano mea hoʻokele mea ST25DVXXKC

ʻO ka pūʻolo kākoʻo papa files aia ma ka papa kuhikuhi Drivers/BSP/Linux.

Nā hana IO pae haʻahaʻa
Hoʻokō ka papa haʻahaʻa IO i nā hana haʻahaʻa haʻahaʻa a pau i koi ʻia e ka mea hoʻokele ST25DVXXKC. Hoʻokomo ʻia kēia papa ma ka papa kuhikuhi Drivers/BSP/Linux me ka files i hoakakaia ma ka Papa 1.

Files wehewehe
  ʻO kēia mau mea files hoʻokō i nā hana i:
st25dv-i2c_linux.c • Hoʻonohonoho, heluhelu a kākau i ke kikowaena I2C
st25dv-i2c_linux.h • Loaʻa i ka millisecond tick
  Pili kēia code i ka /dev/i2c-X file e lawe i ka mana o ka I2C peripheral.
st25dv-i2c-gpo.c st25dv-i2c-gpo.h ʻO kēia mau mea files hoʻokō i nā hana e hoʻonohonoho a loaʻa i nā keakea mai ka pine GPO o ka ST25DVXXKC.

Hoʻohana kēia code i ka /dev/gpiochipX file a me kahi pae i hoʻolaʻa ʻia e koho balota no kahi hanana ma ka GPIO.

 

 

st25dv-i2c-lpd.c st25dv-i2c-lpd.h

ʻO kēia mau mea files hoʻokō i nā hana e hoʻonohonoho a hoʻopaʻa i ka mana haʻahaʻa haʻahaʻa o ka ST25DVXXKC. Hoʻohana kēia code i kēia files e hoʻomalu i ka GPIO:

•/sys/class/gpio/export

•/sys/class/gpio/gpioXX/direction

• /sys/class/gpio/gpioXX/waiwai.

He kikoʻī kēia mau hana i ka papa i hoʻohana ʻia a pono e hoʻololi ʻia i ke kahua i hoʻohana ʻia ai lākou (e nānā i ka Pauku 3 Pehea e hoʻonohonoho ai i kahi papa).

API i nā ala hoʻokele ST25DVXXKC
ʻO kēia API he mea wili wale a puni ka mea hoʻokele mea ST25DVXXKC. Hoʻokomo ʻia ia ma Drivers/BSP/Linux/bsp_nfctag.c a me nā Keaukaha/BSP/Linux/bsp_nfctag.h files.

NDEF waihona waihona waena
Hōʻike ka NFC Forum i kahi ʻano maʻamau e hoʻohana ai i ka heluhelu ʻana a kākau ʻana i kahi hāmeʻa NFC. Ua ʻike ʻia kēia ʻano
Nā memo NDEF. Hoʻohana ka waihona NDEF i nā ʻano kiʻekiʻe e hoʻopololei maʻalahi i ka ʻikepili i ka NDEF compliant
ʻano. Hāʻawi ʻia kēia waihona STMicroelectronics ma ke ʻano he middleware, kūʻokoʻa loa mai ka lako a me
hele mai me kahi interface file e hoʻokō ʻia no ka papa kuhikuhi.
I loko o ka STSW-ST25DV009 pūʻolo lako polokalamu i kēia mau kikowaena files ua hoʻokō ʻia ma:

  • Nā papahana\NDEF_URI\Src\lib_NDEF_config.c
  • Nā papahana\NDEF_BLUETOOTH\Src\lib_NDEF_config.c

ʻO ka middleware waihona NDEF fileAia nā s i ka papa kuhikuhi Middlewares/ST/lib_nfc

Sampnā papahana
Ma kēia ʻāpana, kahi pōkoleview o ka sampHāʻawi ʻia nā papahana i hoʻokomo ʻia i ka pā STSW-ST25DV009. ʻO ka sampnā papahana:

  • pono e hoʻololi ʻia i ke kahua Linux i manaʻo ʻia (e like me ka wehewehe ʻana ma ka Pauku 3 Pehea e hoʻonohonoho ai i kahi papa)
  • hōʻike i ka mea hoʻohana pehea e hoʻohana ai i nā API e hoʻomaka pololei a hoʻohana i ka NFC/RFID ikaika tag IC (mea hana ST25DVxxKC)

ʻO ka sampAia nā papahana ma ka papa kuhikuhi ./Projects.

  • NDEF_URI
    Hōʻike kēia palapala noi pehea e kākau ai i kahi leka URI NDEF maʻalahi i ka ST25DVXXKC EEPROM me ka hoʻohana ʻana i ka NDEF lib middleware. Hōʻike ʻia kahi memo ke kākau ʻia ka memo. Hiki ke hoʻohana ʻia ke kelepona a i ʻole ka mea heluhelu NFC e heluhelu i ka memo NDEF_URI.
  • NDEF_BLUETOOTH
    Hōʻike kēia palapala noi pehea e kākau ai i kahi leka Bluetooth® OOB NDEF i ka ST25DVXXKC EEPROM me ka hoʻohana ʻana i ka NDEF lib middleware. Hōʻike ʻia kahi memo ke kākau ʻia ka memo. Hiki ke hoʻohana ʻia ke kelepona a i ʻole ka mea heluhelu NFC e heluhelu i ka memo NDEF_BLUETOOTH.
  • GPO (puka kumu nui)
    ʻO kēia exampe hōʻike ana pehea e hiki ai a hoʻohana i ka GPO. Ma hope o ka hoʻomaka ʻana, ua hoʻolālā ʻia kahi hoʻopau e ʻike i nā loli o ke kahua ma kahi kokoke o ST25DVXXKC. Hōʻike ʻia kahi memo ke ʻike ʻia ke kahua a i ka wā e nalowale ai ke kahua.
  • I2CPAʻI
    ʻO kēia exampe hōʻike ana i ka hana ʻana i nā wahi ma ST25DVXXKC a pehea e pale ai iā lākou. Hōʻike ʻia ke kikokikona ma ka console.
  • LPD (haʻahaʻa ka mana haʻahaʻa)
    ʻO kēia exampe hōʻike ana i ke ʻano o ka hoʻāla ʻana i ka pin haʻahaʻa haʻahaʻa (LPD). Ma ke komo ʻana i ka "1" a i ʻole "0", hoʻāla ʻia a hoʻopau ʻia ka pine LPD. Ke hoʻā ʻia ka pine LPD, ʻoki ʻia ka ST25DVXXKC VCC, ʻoi aku ka liʻiliʻi o ka hoʻohana ʻana i ka mana a ʻaʻole i loaʻa ke kamaʻilio ma o I2C.
    Nānā: ʻAʻole hiki ke holo kēia hoʻāʻo me ka papa hoʻonui X-NUCLEO‑NFC07A1 no ka mea ʻaʻole hoʻopili ka papa i ia pine.
  • pahu leta
    ʻO kēia exampe hōʻike ana pehea e kākau ai i kahi leka i loko o ka pahu leta a pehea e heluhelu ai i ke kūlana kūlana pahu leta o ST25DVXXKC. Hōʻike ʻia ka kikokikona.
  • I2CC Channel
    ʻO kēia example hoike pehea e hoololi I2C kauā helu wahi a hōʻike i ka kākau 'ana i ka memo i loko o ka pahu leta a me ka heluhelu i ka pahu leta palapala kakau inoa o ka ST25DVXXKC mea hana me ka hou kauā wahi. Hōʻike ʻia ka kikokikona a hoʻihoʻi ʻia ka helu kauā I2C i ka waiwai paʻamau.
    Nānā: Inā ho'ōki ka mea hoʻohana i ka noi ma mua o ka pau ʻana, pono e hoʻohana ʻia ka helu kauā I2C kūpono no ke kamaʻilio ʻana me ST25DVXXKC.
  • I2CMode
    ʻO kēia exampE hōʻike ana pehea e hoʻololi ai i ke ʻano kauā I2C (Normal/RF Off) a me ke ʻano kauā I2C i hoʻonohonoho ʻia i ka 'RFOFF' ʻaʻole i mālama ʻia ke kamaʻilio NFC akā me ke ʻano kauā I2C i hoʻonohonoho ʻia i ka 'Normal' e hana ʻia ke kamaʻilio NFC.

Pehea e hoʻonohonoho ai i kahi papa

Pono e hoʻololi iki ʻia ka papa kākoʻo o ka papa i ke kahua Linux i manaʻo ʻia, i mea e koho ai i ka peripheral I2C e kamaʻilio me ST25DVXXKC a pili nā GPIO i nā ST25DVXXKC GPO a me LPD pin. Ua helu ʻia nā wehewehe pono āpau ma lalo nei file: Nā Keaukaha/BSP/Linux/hwconfig.h.

Papa 2. Ka wehewehe ʻana i ka hoʻonohonoho ʻana o nā lako hana:

Hiʻona E wehewehe wehewehe
 I2C  ST25DV_I2C_NR Wehewehe ia i ka helu I2C peripheral i hoʻohana ʻia e kamaʻilio me ka ST25DVXXKC.

Hoʻohana ʻia ka waiwai e hoʻopau i ke ala i ka /dev/i2c-X file.

  GPO  ST25DV_GPO_GPIOCHIP Wehewehe ia i ka helu GPIOCHIP i pili i ka pine ST25DVXXKC GPO.

Hoʻohana ʻia ka waiwai e hoʻopau i ke ala i ka /dev/gpiochipX file.

ST25DV_GPO_PIN Ho'ākāka ia i ka helu pin GPIO o ka GPIOCHIP i hoʻopili ʻia i ka pine ST25DVXXKC GPO.
 LPD  ST25DV_LPD_PIN Wehewehe ia i ka helu pin GPIO honua i pili i ka pine ST25DVXXKC LPD. Hoʻohana ʻia ia e hoʻopuka i kēia GPIO.
 ST25DV_LPD_DIRECTION E wehewehe i ke ala i ka Linux file ka wehewehe ʻana i ke kuhikuhi GPIO i pili i ka pine ST25DVXXKC LPD e like me:

/sys/class/gpio/gpioXX/direction

 ST25DV_LPD_VALUE E wehewehe i ke ala i ka Linux file ka wehewehe ʻana i ka waiwai GPIO i pili i ka pine ST25DVXXKC LPD e like me:

/sys/class/gpio/gpioXX/waiwai

Hoʻonohonoho lako

Nā pono paʻa paʻa:

  • ʻO 16.04 a i ʻole ke kiʻekiʻe aʻe o ka PC / Virtual-machine ma Ubuntu
  • Papa STM32MP157F-DK2 (puke ʻike)
  • X-NUCLEO-NFC07A1
  • Kāleka micro SD 8 GB e hoʻopaʻa i ka STM32MP157F-DK2
  • Heluhelu kāleka SD / hoʻohui LAN
  • USB Type-A i Type-micro B uwea USB (koho)
  • USB Type A i Type-C USB uwea
  • USB PD-kupono 5V 3A lako mana

Hoʻokumu ka PC / Virtual-machine i ke kahua hoʻomohala keʻa e kūkulu i ka sample projects application code. Hoʻopili ʻia ka ʻenehana penei:

  1. Ma muli o ka STM32MP157F-DK2 papa ʻike I2C mode hoʻonohonoho (maʻamau, wikiwiki, wikiwiki +), hiki ke hoʻonui ʻia ka X-NUCLEO-NFC07A1 papa hoʻonui I2C pullup resistors (R5 a me R6) a hiki i 10 kΩ.
    UM3078-ST25DVXXKC-Linux-mea hoʻohana-Space-Keaukaha-1
  2. E hoʻopili i ka papa hoʻonui X-NUCLEO-NFC07A1 ma nā mea hoʻohui Arduino® ma ka ʻaoʻao lalo o ka papa ʻike STM32MP157F-DK2.
    UM3078-ST25DVXXKC-Linux-mea hoʻohana-Space-Keaukaha-2
  3. Inā makemake ʻia, e hoʻopili i ka mea polokalamu ST-LINK/debugger i hoʻokomo ʻia ma ka papa ʻike e hoʻokipa i ka PC ma o ka USB micro B type port (CN11).
  4. E hoʻoikaika i ka papa ʻike ma o ke awa USB Type C (CN6).
    UM3078-ST25DVXXKC-Linux-mea hoʻohana-Space-Keaukaha-3

ʻO ka hōʻuluʻulu a me ka holo ʻana i ka sampnā papahana

ʻO kēlā me kēia STSW-ST25DV009 samphele mai ka papahana me ka hanafile a hiki ke hōʻuluʻulu ʻia me ka hoʻohana ʻana i kahi compiler C e like me GCC. Hoʻohana ʻia ka waihona pthread Linux e hana i kahi pae e ʻike ana i kahi hanana ma ka laina GPO, pono kēia waihona no ka hoʻopili pololei ʻana i ka manawa hui. Nā kaʻina hana hoʻohui a me ka holo ʻana:

  1. Ma ka PC host:
    • kope i ka lāʻau ST25DVLinux a pau files i ka PC/mekini-Virtual: scp -r :.
  2. Ma ka PC/Mīkini Virtual:
    • cross-compile i ka noi (hana kēia i ka statically linked executable file): cd ~ // Nā papahana / hoʻomaʻemaʻe i nā mea a pau
    • kope exe file i ka papa kuhikuhi Linux (RPi, STM32MP157F-DK2, …): scp ~//Pahana//st25dv-i2c_ root@:.
  3. Ma ka papa STM32MP157F-DK2:
    • holo i ka exe kope file: chmod +x st25dv-i2c_ ./st25dv-i2c_

Moʻolelo hoʻoponopono 

HOOLAHA NUI – HELUHELU ALOHA

Ua mālama ʻo STMicroelectronics NV a me kāna mau lālā ("ST") i ke kuleana e hana i nā hoʻololi, hoʻoponopono, hoʻonui, hoʻololi, a me ka hoʻomaikaʻi ʻana iā ST
huahana a / a i kēia palapala i kēlā me kēia manawa me ka ʻole o ka hoʻolaha. Pono nā mea kūʻai e loaʻa ka ʻike pili hou loa i nā huahana ST ma mua o ke kau ʻana i nā kauoha. Kūʻai ʻia nā huahana ST e like me nā ʻōlelo a me nā kūlana kūʻai o ST ma kahi i ka manawa o ka ʻae ʻana i ke kauoha. Na nā mea kūʻai aku ke kuleana no ke koho, koho ʻana, a me ka hoʻohana ʻana i nā huahana ST a ʻaʻohe kuleana o ST no ke kōkua noi a i ʻole ka hoʻolālā ʻana i nā huahana a nā mea kūʻai aku. ʻAʻole hāʻawi ʻia ka laikini, hōʻike a i ʻole ka manaʻo, i kekahi kuleana waiwai naʻauao e ST ma ʻaneʻi. ʻO ke kūʻai hou ʻana i nā huahana ST me nā mea ʻokoʻa mai ka ʻike i hōʻike ʻia ma ʻaneʻi e hoʻopau i kekahi palapala hōʻoia i hāʻawi ʻia e ST no ia huahana. ʻO ST a me ka hōʻailona ST he mau hōʻailona o ST. No ka ʻike hou aku e pili ana i nā hōʻailona ST, e nānā i www.st.com/trademarks. ʻO nā inoa huahana a i ʻole nā ​​​​inoa lawelawe ʻē aʻe ka waiwai o kā lākou mea nona. ʻO ka ʻike i loko o kēia palapala e pani a pani i ka ʻike i hāʻawi mua ʻia ma nā mana mua o kēia palapala.
© 2022 STMicroelectronics – Ua mālama ʻia nā kuleana āpau

Palapala / Punawai

ST UM3078 ST25DVXXKC Linux Mea hoʻohana Space Keaukaha [pdf] Palapala Hoʻohana
UM3078 ST25DVXXKC Linux Mea hoʻohana Space Keaukaha, UM3078 ST25DVXXKC, UM3078, ST25DVXXKC, Linux Mea hoʻohana Space Keaukaha, UM3078 Linux Mea hoʻohana Space Keaukaha, ST25DVXXKC Linux Mea hoʻohana Space Keaukaha, Linux Mea hoʻohana Keaukaha, Mea hoʻohana Space Keaukaha, Space Keaukaha, Linux Keaukaha, Keaukaha

Nā kuhikuhi

Waiho i kahi manaʻo

ʻAʻole e paʻi ʻia kāu leka uila. Hōʻailona ʻia nā kahua i makemake ʻia *