当前位置:首页 » 数据仓库 » 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程序,估计调用完了串口就会自动关闭,你需要重新设计你的调用了。