當前位置:首頁 » 數據倉庫 » arduino資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

arduino資料庫

發布時間: 2023-08-15 14:55:09

㈠ 掌握物聯網開發技術,未來究竟有多吃香

「只要有人的地方,就有物聯網技術。」我不清楚這句話的出處,我只知道有人的地方就有江湖~哈哈。我想說的是,「物聯網技術」這個名詞是一個很大很泛的概念,我可以說不存在這種技術,我也可以說這技術實際上就是當今電子、通信、計算機三大領域的基礎技術。

我在這問題下的回答「物聯網和互聯網的區別和聯系?」簡單闡明了物聯網和互聯網之間的關系。請問,1994年中國接入互聯網以來,我們作為互聯網原著居民的90後,認為互聯網技術又是一種怎樣的技術呢?

我就奇了怪了,當初教育局怎麼不開一個互聯網技術專業?實際上現在也沒必要開設互聯網專業了,當今大學的計算機系本科所學的大部分內容,就是互聯網會用到的技術。其中之一是Web建站技術。

Web 建站技術中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什麼? - 張秋怡的回答

什麼?你們計算機系不是學這些?來來來,我電腦壞了,過來幫我修一下電腦吧~

總之,互聯網是一個時代,物聯網,也是一個時代。物聯網技術是當今電子、通信、計算機、IT行業技術的大融合。如圖,物聯網技術的技術組成(簡單版)。

(。。。好像沒有什麼奇怪的啊?)


一二線城市早已實現了的公交卡,以及校園一卡通,用的就是RFID技術。RFID可讀可寫,所以公交卡、校園卡的錢能存在卡裡面。

NFC,也是RFID的技術一種,目前大部分手機都支持的NFC功能,手機取代公交卡真的是遲早的事。要是手機沒有NFC功能,也可以這么裝逼:

  • 上班,在地鐵里碰到同事。

  • 我看他用手機刷卡出入站挺方便,就問他怎麼弄的,是不是要下載什麼軟體。

  • 他告訴我:「這個很簡單,只要把公交卡藏在手機套里就行了。」
  • 同樣,RFID開發也是離不開單片機開發,網上也有相關的RFID開發套件出售。

    # 結語

    當然,物聯網技術絕對不止以上五種,物聯網本身就是所有技術的大融合,做電子產品的還要考慮產品外殼,不過這是結構工程師的事情;做伺服器後台的還要考慮用戶帳號資料庫讀寫等,前端也要考慮如何把設備數據和操作方式優雅的展現給用戶看,這些是IT程序員的事情;電池技術也需要單方面突破,超小體積、超大容量,這個還得等待多時。

    與其說物聯網是一種技術吧,不如說它是一個時代,物聯網通過對相關技術進行整合,形成一個時代的概念,是一個建立在技術基礎之上的時代。

    ㈡ arino門禁系統卡uid默認多少

    1、序言
    先說下簡單門禁系統的原理:
    (1)IC卡激活:門禁卡管理員將卡片放到讀卡器、這時軟體讀取到IC卡的UID序列號信息(相當於身份證號碼),將這個UID錄入資料庫激活IC卡。
    (2)刷卡:刷卡時讀卡器讀取到UID,查詢資料庫,如果資料庫中存在這個UID則表示有效用戶,繼而控制繼電器斷電,此時電磁鎖開門。
     

    不亦買的RC522模塊採用SPI通信、據說也有串口通信的不過成本較高。大家可以看看這個模塊的主要配件:卡和讀卡器。

    2、載入RC522庫文件
     Arino本身有個操作RC5200的庫,如下圖所示,打開Arino開發工具中管理庫

    搜索"RC522",選擇"MFRC522"安裝即可
    點擊"More info"可以跳轉到github地址https://github.com/miguelbalboa/rfid ,下文會有提及。

    安裝完畢後,可以看到關於MFRC522的庫示例,有讀取UID、獲取區塊信息、修改UID、卡片信息復制等
     
    註:一般而言IC卡是不能修改0扇區0區塊的UID和廠商信息數據,這些是生產時就確定下來的的(關於IC卡的存儲結構有空再發文介紹,小夥伴們可以去網上查閱這方面資料也挺多的),能夠全扇區修改的俗稱UID卡才支持修改UID,一些不負責的門禁系統廠家僅根據UID來判斷用戶身份是不可靠的,一個簡單的方法是在讀之前先寫UID操作,如果可寫那麼這張卡就是UID卡即復制卡,判斷無效,系統也可記錄是哪張IC卡被復制了用於追溯非法行為,僅供交流與學習,請勿用於非法用途哦

    3、模塊引腳接線
    此處是網路上大部分相關文章沒有提及的,只告訴了如何接線,卻不告訴我們為什麼這樣接,甚至連Arino版本都不說清楚。
    我們打開ReadNUID的示例裡面有各種版本Arino與RC522的引腳連接圖,我們按照這個接線即可。在上文提及的github項目主頁也有介紹。
    RC522一共8個引腳,如圖所示:

    3.3V供電、GND接地不用多說,IRQ是中斷才用到的此處沒有用到可以不接,其餘5個引腳接法如下表所示:
    /* Typical pin layout used:
    * -----------------------------------------------------------------------------------------
    * MFRC522 Arino Arino Arino Arino Arino
    * Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro
    * Signal Pin Pin Pin Pin Pin Pin
    * -----------------------------------------------------------------------------------------
    * RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
    * SPI SS SDA(SS) 10 53 D10 10 10
    * SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16
    * SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14
    * SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15
    */
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
     
    4、程序代碼
    此處測試的Arino型號是Arino Nano V3.0,其他型號請結合上表修改引腳號。
    示例代碼讀取UID,並將其分別以十進制和十六進制輸出到串口,簡化版如下:
    #include <SPI.h>
    #include <MFRC522.h>

    #define SS_PIN 10
    #define RST_PIN 9

    MFRC522 rfid(SS_PIN, RST_PIN); //實例化類

    // 初始化數組用於存儲讀取到的NUID
    byte nuidPICC[4];

    void setup() {
    Serial.begin(9600);
    SPI.begin(); // 初始化SPI匯流排
    rfid.PCD_Init(); // 初始化 MFRC522
    }

    void loop() {

    // 找卡
    if ( ! rfid.PICC_IsNewCardPresent())
    return;

    // 驗證NUID是否可讀
    if ( ! rfid.PICC_ReadCardSerial())
    return;

    MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);

    // 檢查是否MIFARE卡類型
    if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
    piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
    piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
    Serial.println("不支持讀取此卡類型");
    return;
    }

    // 將NUID保存到nuidPICC數組
    for (byte i = 0; i < 4; i++) {
    nuidPICC[i] = rfid.uid.uidByte[i];
    }
    Serial.print("十六進制UID:");
    printHex(rfid.uid.uidByte, rfid.uid.size);
    Serial.println();

    Serial.print("十進制UID:");
    printDec(rfid.uid.uidByte, rfid.uid.size);
    Serial.println();

    // 使放置在讀卡區的IC卡進入休眠狀態,不再重復讀卡
    rfid.PICC_HaltA();

    // 停止讀卡模塊編碼
    rfid.PCD_StopCrypto1();
    }

    void printHex(byte *buffer, byte bufferSize) {
    for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : "");
    Serial.print(buffer[i], HEX);
    }
    }

    void printDec(byte *buffer, byte bufferSize) {
    for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : "");
    Serial.print(buffer[i], DEC);
    }
    }
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.
    17.
    18.
    19.
    20.
    21.
    22.
    23.
    24.
    25.
    26.
    27.
    28.
    29.
    30.
    31.
    32.
    33.
    34.
    35.
    36.
    37.
    38.
    39.
    40.
    41.
    42.
    43.
    44.
    45.
    46.
    47.
    48.
    49.
    50.
    51.
    52.
    53.
    54.
    55.
    56.
    57.
    58.
    59.
    60.
    61.
    62.
    63.
    64.
    65.
    66.
    67.
    68.
    69.
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.
    17.
    18.
    19.
    20.
    21.
    22.
    23.
    24.
    25.
    26.
    27.
    28.
    29.
    30.
    31.
    32.
    33.
    34.
    35.
    36.
    37.
    38.
    39.
    40.
    41.
    42.
    43.
    44.
    45.
    46.
    47.
    48.
    49.
    50.
    51.
    52.
    53.
    54.
    55.
    56.
    57.
    58.
    59.
    60.
    61.
    62.
    63.
    64.
    65.
    66.
    67.
    68.
    69.
    5、運行結果
    依次將卡A、卡B、卡A放到RC522讀卡區,串口列印信息如下

    ㈢ 大師,請問我通過樹莓派usb串口接收到的數據怎樣能夠在桌面上顯示,並

    如果和Arino連接的串口,必須始終處於打開的狀態。如果關閉重新打開,那麼,Arino就會重啟,這是Arino的Bootload里設置的功能。
    如果你有足夠的能力,可以嘗試修改你對應的Arino板子的Bootload,使其不會重啟,當然這比較麻煩。當然,你也可以修改你在派上的程序,使其保持對埠的打開後的佔用,不要用完了就關閉,這樣也可以。
    不過,看你說是用PHP調用的C程序,估計調用完了串口就會自動關閉,你需要重新設計你的調用了。