-
Notifications
You must be signed in to change notification settings - Fork 0
Development Environment
Install build-essential, autotools-dev, automake, autoconf, libtool, libxml2-dev, check, texinfo, and libgcrypt (libgcrypt11-dev on Debian variants)
Run ./autogen.sh
. This will generate the required README file from README.md as well as installing the required BETA version of libcryptoauth-0.2 (sudo
is used to install this library)
You can run eclet
locally, or install it to the system by running sudo make install
In case this library is used on Raspberry Pi boards I2C functionality has to be activated first.
The I2C bus allows multiple devices to be connected to your Raspberry Pi, each with a unique address, that can often be set by changing jumper settings on the module. It is very useful to be able to see which devices are connected to your Pi as a way of making sure everything is working.
Run the following commands in the Terminal to install the i2c-tools utility.
1. sudo apt-get install -y python-smbus
2. sudo apt-get install -y i2c-tools
Run sudo raspi-config and follow the prompts to install i2c support for the ARM core and linux kernel
Go to Interfacing Options
then I2C
Enable!
Then reboot!
We also recommend going through the steps below to manually check everything was added by raspi-config!
Now when you log in you can type the following command to see all the connected devices
1. i2cdetect 1
In case this doesn't work ddd the following line to /boot/config.txt
1. dtparam=i2c_arm=on
Add the following line to /etc/modules
1. i2c-dev
- Install the Arduino IDE from arduino.cc.
- Clone or download the RnCAtmelCrypto code to your desktop.
- Copy all files to the library folder within your Arduino working library.
- Start the Arduino IDE.
- Follow the cryptoauth-arduino directory into the Examples directory. Start the file Crypto_Examples.ino from within the Crypto_Examples folder.
- Follow the CmdMessenger directory into the Examples directory. Start the file example_utf8.ino from within the CmdMessenger folder.
- Follow the micro-ecc directory into the Examples directory. Start the file micro-ecc.ino from within the micro-ecc folder. The example reproduces the ECDSA of the ASIC based crypto accelerator chip in python.
Beside this, to follow through with all examples it also takes:
For NFC Transponder:
- NXP Taginfo Reader for Android
- NXP Tagwriter for Android
- NTAG I2C for Android
- Basic Android NFC Example Code
For Public Ledger/Blockchain:
Essentially there are two distinctive libraries.
One is the Trezor-Crypto a collection of crypto libs and algorithms of importance for any kind of blockchain and public ledger settlement and payment system. In the specific case also used to give uncompromisable identities to hardware devices and to protect the integrity of any kind of data.
One is the Crypto-Auth library a collection of drivers for the hardware crypto accelerator chips produced by Atmel. On these temper proof ICs important crypto algorithms like hashing, true random number generation, elliptic curves, Diffie-Hellman key exchanges, key storage, et al. are operated strictly off the bus and hardware accelerated.
Both libraries implement the code to run within Arduino's development environment. Therefore a first step requires downloading the IDE from Arduino's website.
1. https://www.arduino.cc/en/Main/Software
Take care to download the Arduino IDE and not the Web Editor.
Following the installation of the IDE enable the environment to work with STM32 based micro-controllers like the Nucleo or Discovery boards.
Enable Arduino's Board Manager to work with the IoT Discovery board.
2. https://github.com/RiddleAndCode/Arduino_Core_STM32
After the successful installing Arduino IDE and Arduino Core for STM32 on your machine, configure the environment to select the IoT board as the development target of choice.
Open the Board submenu from the Tools menu and select the Discovery series of boards.
Select the board part number.
Select the serial interface.
Select USB interface.
Select uplink method.
Select optimize method.
Select the port the Arduino board is connected to.