The smart lock provide access control for personnel to access certain room or access to locker. The smart lock operate by using bluetooth from phone APP to unlock. the smart lock is build with the NXP RT1060EVKB with bluetooth module https://www.murata.com/en-sg/products/connectivitymodule/wi-fi-bluetooth/overview/nxp-imx , it is connected to the cloud backend as an edge IoT device, where user access control can be managed on the cloud backend. This smart lock can be used for application like meeting room access in factory, guest room and facility room access at hotel, or locker access for tourist at museum.for demo of this project, we build a lock that can unlock / lock a casing using phone app with the RT1060EVKB
Here is the official description of the evaluation board.
i.MX RT evaluation boards provide a powerful, extendable platform or evaluation and prototyping using the MCUXpresso suite of software and tools. An Arduino UNO site is provided for expansion using NXP or 3rd party shield boards. The boards feature a high speed USB debug probe based with easy firmware update options to support CMSIS-DSP or a special version of J-link LITE from SEGGER
The smart lock is built with circuit diagram below. The 3.3V GPIO of arduino compatible header is used to control a relay module. The relay module in turn is used to lock unlock a magnetic lock. The MIMXRT1060 board is connected to the internet via home router and a phone is able to send command to unlock the door.
Steps on Producing the Project
I use RT-Thread instead of MCUXpresso.
Setting up
Download
1) BSP : download and put to C:\RTT\bsp\imxrt\imxrt1060-nxp-evk
Using Env tool
1) browse to C:\RTT\bsp\imxrt\imxrt1060-nxp-evk, and uses env tool with the context menu ConEmu here
2) import the configured BSP
3) The directory structure look like below
after further checking, seems like link script is wrong
the m_data size is defined as below
#define m_data_size (0x01E00000 - m_interrupts_ram_size)
using https://ss64.com/convert.html i change it to
0x01E00000 is 31457.28kB
0x0001F400 is 128kB or 128000 bytes
however, the changes above fail. i then find that the linker script might be the culprit
looking at link.lds
we change the 0x20000 (131kB) to 0x1F400 (128kB)
4)



Comments