Akwụkwọ ntuziaka onye ọkwọ ụgbọ ala Linux STMicroelectronics UM2375

STMicroelectronics Logo

Onye ọkwọ ụgbọ ala Linux® maka ST25R3911B na ST25R3912/14/15 arụmọrụ dị elu NFC n'ihu

Okwu mmalite

Onye ọkwọ ụgbọ ala STSW-ST25R009 Linux® na-enyere Raspberry Pi 4 aka ịrụ ọrụ na X-NUCLEO-NFC05A1, nke nwere ST25R3911B ngwaọrụ NFC zuru ụwa ọnụ.

Ngwugwu a na-ebunye oyi akwa abstraction RF (RFAL) n'elu ikpo okwu Raspberry Pi 4 Linux iji jiri firmware X-NUCLEO-NFC05A1 rụọ ọrụ. The ngwugwu na-enye dị kaample ngwa na-achọpụta ụdị NFC dị iche iche tags na ekwentị mkpanaaka na-akwado P2P. RFAL bụ ọkọlọtọ ọkọlọtọ ST maka ST25R NFC/RFID Reader ICs ST25R3911B, ST25R3912, ST25R3913, ST25R3914 na ST25R3915. A na-eji ya, dịka ọmụmaatụ, site na ST25R3911B-DISCO firmware (STSW-ST25R002) yana X-NUCLEONFC05A1 firmware (X-CUBE-NFC5).

STSW-ST25R009 na-akwado usoro ST25R3911B dị ala yana ụfọdụ ụkpụrụ oyi akwa dị elu maka nkwukọrịta. Edere RFAL n'ụzọ dị mfe, yabụ ọ nwere ike na-agba ọsọ na ngwaọrụ dị iche iche dabere na Linux®. Akwụkwọ a na-akọwa otu enwere ike isi jiri ọbaakwụkwọ RFAL na sistemụ Linux ọkọlọtọ (na nke a Raspberry Pi 4) maka nkwukọrịta NFC/RF. Koodu a na-ebugharị nke ukwuu ma na-arụ ọrụ na obere mgbanwe na nyiwe Linux ọ bụla.

Ọgụgụ 1. RFAL ọba akwụkwọ na Linux ikpo okwu

Ọbá akwụkwọ RFAL 1 na ikpo okwu Linux

gafereview

Atụmatụ
  • Onye ọkwọ ụgbọ ala onye ọrụ Linux zuru ezu (RF abstraction Layer) iji wuo ngwa enyere NFC site na iji ST25R3911B/ST25R391x arụmọrụ dị elu NFC n'ihu nwere ike mmepụta ihe ruru 1.4 W.
  • Nkwurịta okwu Linux na ST25R3911B/ST25R391x site na iji SPI interface.
  • Nzuzu RF/NFC abstraction (RFAL) maka teknụzụ niile bụ isi na usoro oyi akwa dị elu:
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • NFC-V (ISO15693)
    • P2P (ISO18092)
    • ISO-DEP (ISO data mgbanwe protocol, ISO14443-4)
    • NFC-DEP (NFC data mgbanwe protocol, ISO18092)
    • Teknụzụ ndị nwe ya (Kovio, B', iClass, Calypso®,…)
  • Sampmmejuputa iwu dị na bọọdụ mgbasawanye X-NUCLEO-NFC05A1, etinyere na Raspberry Pi 4
  • Sample ngwa ịchọpụta ọtụtụ NFC tag ụdị na ekwentị mkpanaaka na-akwado P2P
  • Usoro ikike enyi na enyi efu
Software ije

Ọnụọgụ 2 na-egosi nkọwa nhazi ngwa ngwa nke ọba akwụkwọ RFAL n'elu ikpo okwu Linux®.

RFAL na-adị mfe ibugharị na nyiwe ndị ọzọ site na imegharị ihe a na-akpọ ikpo okwu files.

Ihe nkụnye eji isi mee file rfal_platform.h nwere nkọwa macro, nke kwesịrị inye ma mejuputa ya site n'aka onye nwe ikpo okwu. Ọzọkwa, ọ na-enye ntọala kpọmkwem n'elu ikpo okwu dị ka ọrụ GPIO, akụrụngwa sistemụ, mkpọchi na IRQ, nke achọrọ maka ịrụ ọrụ RFAL ziri ezi.

Ngosipụta a na-arụ ọrụ ikpo okwu ma na-enye ọdụ ụgbọ mmiri nke ọbá akwụkwọ RFAL n'ime oghere ndị ọrụ nke Linux®. Ọbá akwụkwọ nkekọrịta file emepụtara, nke a na-eji ngwa ngosi iji gosipụta ọrụ nke oyi akwa RFAL nyere.

Ndị ọbịa Linux® na-eji sysfs interface dị site na ohere onye ọrụ Linux® iji mee ka nkwukọrịta SPI na ngwaọrụ ST25R3911B. N'ime Linux kernel SPI sysfs interface na-eji Linux® kernel driver spidev izipu/nata fremu SPI gaa na/site na ST25R3911B.

Maka ijikwa ahịrị nkwụsị nke ST25R3911B, onye ọkwọ ụgbọ ala na-eji libgpiod nweta ọkwa maka mgbanwe na ahịrị a.

Ọgụgụ 2. RFAL software architecture na Linux

Ọgụgụ 2 RFAL software architecture na Linux

Ntọlite ​​ngwaike

A na-eji ikpo okwu

A na-eji bọọdụ Raspberry Pi 4 nwere Raspberry Pi OS dị ka ikpo okwu Linux iji wuo ọba akwụkwọ RFAL yana soro ST25R3911B na-emekọrịta ihe karịa SPI.
ST25R3911B na-enyere ngwa n'elu ikpo okwu Linux aka ịchọpụta na jikọọ na ngwaọrụ NFC.

Ngwa ngwa chọrọ
  • Raspberry Pi 4
  • 8 GBytes micro SD kaadị iji buo Raspberry Pi OS
  • Onye na-agụ kaadị SD
  • Bọọdụ akwa iji jikọọ X-NUCLEO-NFC05A1 na ihe nkwụnye Raspberry Pi Arduino maka Raspberry Pi, nọmba akụkụ ARPI600.
  • X-NUCLEO-NFC05A1. Rụtụ aka na Raspberry Pi OS chọrọ kacha ọhụrụ.

Njikọ akụrụngwa

A na-eji bọọdụ nkwụnye ARPI600 Raspberry Pi ruo Arduino iji jikọọ X-NUCLEO-NFC05A1 na Raspberry Pi. Ọ na-achọrọ ịgbanwe jumpers nke nkwụnye nkwụnye jikọọ ya na X-NUCLEO-NFC05A1.

Ịkpachara anya: ARPI600 na-enye 5 V ezighi ezi na pin Arduino IOREF. Ijikọ ozugbo X-NUCLEO-NFC05A1 na-enye azụ 5 V na ụfọdụ ntụtụ, nke a nwere ike imebi bọọdụ Raspberry Pi. Enwere akụkọ ọkachasị nke Raspberry Pi 4B+ na-emebi n'ezie. Iji zere ọnọdụ a megharia ma ARPI600 (ọrụ siri ike) ma ọ bụ X-NUCLEO-NFC05A1 (ọrụ dị mfe).

Ndozi kachasị mfe bụ ibelata pin CN6.2 (IOREF) na X-NUCLEO-NFC05A1 dị ka egosiri na eserese 3.

Ịcha ntụtụ a anaghị emetụta ọrụ ahụ na njikọ Nucleo (NUCLEO-L474RG, NUCLO-F401RE, NUCLO-8S208RB, wdg).

Ọgụgụ 3. Ndozi njikọ ngwaike

Ọgụgụ 3 ndozi njikọ ngwaike

Ntọala jumper

A ga-agbanwerịrị ndị jumpers maka A5, A4, A3, A2, A1 na A0 egosiri na eserese 4 ka ọ bụrụ P23, P22, P21 na CE1. Site na ntọala jumper ndị a, a na-eji nọmba pin GPIO Raspberry 7 dị ka ahịrị nkwụsịtụ maka X-NUCLEO-NFC05A1.

Ọgụgụ 4. Ọnọdụ jumpers A5, A4, A3, A2, A1 na A0 na mbadamba ihe nkwụnye ọkụ.

Ọgụgụ 4 Ọnọdụ jumpers

Ugbu a, ọdụ ụgbọ mmiri RFAL a na-eji pin GPIO7 dị ka ahịrị nkwụsịtụ, dịka ntọala jumper siri dị. Ọ bụrụ na enwere ihe achọrọ iji gbanwee ahịrị nkwụsịtụ site na GPIO7 gaa na GPIO dị iche, koodu akọwapụtara (na file pltf_gpio.h) kwesịrị ịgbanwe ka ịgbanwe nkọwa nke nnukwu "ST25R_INT_PIN" site na 7 gaa na pin GPIO ọhụrụ, iji mee ka ahịrị nkwụsịtụ.

Site na ntọala jumper dị n'elu, enwere ike iji bọọdụ nkwụnye jikọọ X-NUCLEO-NFC05A1 na bọọdụ Raspberry Pi dị ka egosiri na eserese 5.

Ọgụgụ 5. Ntọlite ​​ngwaike n'elu view

Ọgụgụ 5 Ntọlite ​​ngwaike n'elu view

Ọgụgụ 6. Akụkụ nhazi ngwaike view

Ọgụgụ 6 Akụkụ nhazi ngwaike view

Ntọala gburugburu Linux

Mbugharị nke Raspberry Pi

Iji dozie gburugburu Linux, nzọụkwụ mbụ bụ ịwụnye na buo Raspberry Pi 4 na Raspberry Pi OS dị ka akọwara n'okpuru:

Nzọụkwụ 1

Budata foto Raspberry Pi OS kachasị ọhụrụ site na njikọ ahụ:

Họrọ Raspberry Pi OS nwere desktọpụ. Maka ule ndị dị n'okpuru ụdị a, ejiri: Septemba 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).

Nzọụkwụ 2

Wepụ ihe oyiyi Raspberry Pi wee dee ya na kaadị SD site na isoro ntuziaka dị na ngalaba aha ya bụ "Ide ihe oyiyi na kaadị SD".

Nzọụkwụ 3

Jikọọ ngwaike:

  • Jikọọ Raspberry Pi na onye nleba anya site na iji eriri HDMI ọkọlọtọ.
  • Jikọọ òké na ahụigodo na ọdụ ụgbọ mmiri Raspberry Pi.

Enwere ike iji ssh rụọ ọrụ na Raspberry Pi. N'ọnọdụ ahụ, ọ dịghị mkpa ka ijikọ ihe nleba anya, ahụigodo na òké na Raspberry Pi. Naanị ihe achọrọ bụ ịnwe PC nwere ssh n'ime otu netwọkụ dị ka Raspberry Pi wee hazie adreesị IP ahụ.

Nzọụkwụ 4

Jiri kaadị SD buut Raspberry Pi.

Mgbe emechara, desktọpụ Linux dabere na Debian na-egosi na nyocha.

Mara: Mgbe ụfọdụ, a na-ahụta na ka emechara Raspberry Pi, ụfọdụ igodo ahụ anaghị arụ ọrụ. Iji mee ka ha rụọ ọrụ, mepee ya file /etc/default/keyboard wee tọọ XKBLAYOUT=”anyị” wee malitegharịa Raspberry Pi.

Kwado SPI na Raspberry Pi

Onye ọkwọ ụgbọ ala SPI nọ n'ime kernel na-akpakọrịta X-NUCLEO-NFC05A1 site na SPI. Ọ dị mkpa ịlele ma agbanyerela SPI na nhazi Raspberry Pi OS/kernel.
Lelee ma a na-ahụ /dev/spidev0.0 na gburugburu Raspberry Pi. Ọ bụrụ na ahụghị ya anya, mee ka interface SPI nwee ike iji "raspi-config" site na ịgbaso usoro ndị a kọwara n'okpuru.

Nzọụkwụ 1

Mepee ọdụ ọhụrụ na Raspberry Pi ma mee iwu "raspi-config" dị ka mgbọrọgwụ:

sudo raspi-config

Nzọụkwụ a na-emepe interface eserese.

Nzọụkwụ 2

Họrọ na eserese eserese nhọrọ aha ya bụ "Nhọrọ mmekọrịta".

Nzọụkwụ 3

Nzọụkwụ a depụtara nhọrọ dị iche iche.
Họrọ nhọrọ aha ya bụ "SPI".
Window ọhụrụ ga-egosi na ederede na-esonụ:
"Ọ ga-amasị gị ka agbanyere interface SPI?"

Nzọụkwụ 4

Họrọ na mpio a iji mee ka SPI nwee ike.

Nzọụkwụ 5

Malitegharịa Raspberry Pi.
Nzọụkwụ ndị a dị n'elu ga-eme ka interface SPI dị na gburugburu Raspberry Pi ka ịmalitegharịa.

Wulite ọba akwụkwọ RFAL na ngwa

Enyere ngosi RFAL nke Linux na ebe nchekwa. Ka anyị were ya na aha ya bụ:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Iji wuo ọba akwụkwọ RFAL na ngwa na Raspberry Pi, soro usoro ndị a:

Nzọụkwụ 1

Wepụ ngwugwu ahụ na Raspberry Pi site na iji iwu dị n'okpuru na ndekọ ụlọ:

tar -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz

Nzọụkwụ 2

Ọ bụrụ na emebeghị mbụ, wụnye cmake, na-eji iwu dị n'okpuru:

apt-nweta install cmake

Ọbá akwụkwọ RFAL na sistemụ nrụpụta ngwa dabere na cmake, n'ihi nke a, achọrọ ka etinye cmake maka mkpokọta ngwugwu.

Nzọụkwụ 3

Iji wuo ọba akwụkwọ RFAL na ngwa, gaa na ndekọ “wulite”:

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

wee malite iwu n'okpuru ebe ahụ:

kamke..

N'iwu dị n'elu "..." na-egosi na CMakeLists.txt dị n'ọkwa dị n'akwụkwọ ndekọ aha nne na nna, ntụgharị.
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Iwu cmake na-emepụta ihefile nke a na-eji na nzọụkwụ ọzọ iji wuo ọba akwụkwọ na ngwa.

Nzọụkwụ 4

Gbaa iwu "mee" iji wuo ọba akwụkwọ RFAL na ngwa:

mee

Iwu “mee” na-ebu ụzọ wuo ọba akwụkwọ RFAL wee wuo ngwa n'elu ya.

Otu esi agba ngwa ngwa

Nrụpụta nke ọma na-ebute ihe arụrụ arụ aha ya bụ "nfc_demo_st25r3911b" na ebe a:
/buil/applications.

Site na ndabara, a ga-eji ikike mgbọrọgwụ mee ngwa ahụ: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Ngwa na-amalite ịtụ vootu maka NFC tags na ekwentị mkpanaaka. Ọ na-egosipụta ngwaọrụ ndị achọtara na UID ha dị ka egosiri na foto 7.

Ngosipụta 7. Ngosipụta ngwaọrụ achọtara

Ọgụgụ 7 Ngosipụta ngwaọrụ achọtara

Iji kwụsị ngwa ahụ, pịa Ctrl + C.

Akụkọ ngbanwe

Tebụl 1. Akụkọ ndegharị akwụkwọ

Tebụl 1 Akụkọ ngbanwe akwụkwọ

Ndepụta tebụl

Tebụl 1. Akụkọ ndegharị akwụkwọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Ndepụta ọnụ ọgụgụ

Ọgụgụ 1. RFAL ọba akwụkwọ na Linux ikpo okwu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Ọgụgụ 2. RFAL software architecture na Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Ọgụgụ 3. Ndozi njikọ ngwaike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Ọgụgụ 4. Ọnọdụ jumpers A5, A4, A3, A2, A1 na A0 na mbadamba ihe nkwụnye ọkụ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Ọgụgụ 5. Ntọlite ​​ngwaike n'elu view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Ọgụgụ 6. Akụkụ nhazi ngwaike view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Ọgụgụ 7. Ngosipụta nke ngwaọrụ achọtara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

ỌMỤMỤ dị mkpa – Gụọ nke ọma

STMicroelectronics NV na ndị enyemaka ya (“ST”) debere ikike ime mgbanwe, ndozi, nkwalite, mgbanwe na nkwalite ngwaahịa ST na/ma ọ bụ akwụkwọ a n'oge ọ bụla na-enweghị ọkwa. Ndị na-azụ ahịa kwesịrị ịnweta ozi kacha ọhụrụ dị mkpa na ngwaahịa ST tupu ha etinye iwu. A na-ere ngwaahịa ST dabere na usoro na ọnọdụ ọrịre nke ST n'oge nnabata.

Ndị na-azụ ahịa bụ naanị maka nhọrọ, nhọrọ, na ojiji nke ngwaahịa ST yana ST anaghị ewere ụgwọ ọ bụla maka enyemaka ngwa ma ọ bụ imepụta ngwaahịa ndị zụrụ ya.

Enweghị ikike, ekwupụtara ma ọ bụ egosipụtara, ikike ikike ọgụgụ isi ọ bụla nke ST nyere n'ime ebe a.

Mweghachi nke ngwaahịa ST nwere ndokwa dị iche na ozi e depụtara n'ime ya ga-emebi akwụkwọ ikike ọ bụla ST nyere maka ụdị ngwaahịa a.

ST na akara ST bụ ụghalaahịa nke ST. Maka ozi ndị ọzọ gbasara ụghalaahịa ST, rụtụ aka www.st.com/trademarks. Ngwaahịa ma ọ bụ aha ọrụ ndị ọzọ bụ ihe onwunwe nke ndị nwe ha.

Ozi dị n'ime akwụkwọ a nọchiri ma dochie ozi enyere na mbụ na ụdị akwụkwọ a mbụ.

© 2023 STMicroelectronics – Ikike niile echekwabara

Akwụkwọ / akụrụngwa

STMicroelectronics UM2375 Linux ọkwọ ụgbọ ala [pdf] Akwụkwọ ntuziaka onye ọrụ
UM2375 Linux ọkwọ ụgbọ ala, UM2375, Linux ọkwọ ụgbọ ala, ọkwọ ụgbọ ala

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *