gojimmypi 9057e8120d Ignore build file warnings for Arduino, update examples | 7 months ago | |
---|---|---|
.. | ||
sketches | 7 months ago | |
Arduino_README_prepend.md | 8 months ago | |
README.md | 7 months ago | |
include.am | 7 months ago | |
keywords.txt | 9 months ago | |
library.properties.template | 8 months ago | |
wolfssl-arduino.sh | 7 months ago | |
wolfssl.h | 8 months ago |
See the example sketches:
When publishing a new version to the Arduino Registry, be sure to edit WOLFSSL_VERSION_ARUINO_SUFFIX
in the wolfssl-arduino.sh
script.
Many of the supported boards are natively built-in to the Arduino IDE Board Manager and by adding additional cores as needed.
STM32 Support can be added by including this link in the "Additional Boards Managers URLs" field from stm32duino/Arduino_Core_STM32 .
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
The Official wolfSSL: https://github.com/wolfSSL/arduino-wolfSSL See PR #1.
This option will allow wolfSSL to be installed directly using the native Arduino tools.
Use this shell script that will re-organize the wolfSSL library to be compatible with Arduino Library Specification for projects that use Arduino IDE 1.5.0 or newer.
The Arduino IDE requires a library's source files to be in the library's root directory with a
header file in the name of the library. This script moves all src/
files to the IDE/ARDUINO/wolfSSL/src
directory and creates a stub header file called wolfssl.h
inside that directory.
To configure wolfSSL with Arduino, enter ONE of the following 4 commands
from within the wolfssl/IDE/ARDUINO
directory:
./wolfssl-arduino.sh
wolfSSL
directory of IDE/ARDUINO
.user_settings.h
, or copy/rename the default../wolfssl-arduino.sh INSTALL
(The most common option)
wolfSSL
directory$HOME/Arduino/libraries
for most bash environments/mnt/c/Users/$USER/Documents/Arduino/libraries
(for WSL)user_settings.h
../wolfssl-arduino.sh INSTALL /path/to/repository
(Used to update arduino-wolfSSL)
wolfSSL
directory/path/to/repository
user_settings.h
.
./wolfssl-arduino.sh INSTALL /path/to/any/other/directory
wolfSSL
directory/path/to/any/other/directory
Edit <arduino-libraries>/wolfSSL/src/user_settings.h
If building for Intel Galileo platform add: #define INTEL_GALILEO
.
Add any other custom settings. For a good start see the examples in wolfssl root
"/examples/configs/usersettings*.h"
If you experience any issues with custom user_settings.h
see the wolfssl
porting guide here for more assistance: https://www.wolfssl.com/docs/porting-guide/
If you have any issues contact support@wolfssl.com for help.
The wolfSSL library should automatically be detected when found in the libraries
directory.
Sketch -> Include Library
choose wolfSSL for new sketches.Sketch -> Include Library -> Add .ZIP Library...
and choose the
IDE/ARDUNIO/wolfSSL
folder.Sketch -> Include Library
choose wolfSSL.Open an example Arduino sketch for wolfSSL:
wolfSSL Client INO sketch: sketches/wolfssl_client/wolfssl_client.ino
wolfSSL Server INO sketch: sketches/wolfssl_server/wolfssl_server.ino
Refresh the local Windows Arduino wolfSSL library from GitHub repository directory using WSL:
Don't forget to edit WOLFSSL_VERSION_ARUINO_SUFFIX
!
# Change to the wolfSSL Arduino IDE directory
cd /mnt/c/workspace/wolfssl-$USER/IDE/ARDUINO
# remove current Arduino wolfSSL library
rm -rf /mnt/c/Users/$USER/Documents/Arduino/libraries/wolfssl
# Install wolfSSL as an Arduino library
./wolfssl-arduino.sh INSTALL
Publish wolfSSL from WSL to a Arduino-wolfSSL-$USER
repository.
cd /mnt/c/workspace/wolfssl-$USER/IDE/ARDUINO
rm -rf /mnt/c/Users/$USER/Documents/Arduino/libraries/wolfSSL
rm -rf /mnt/c/workspace/wolfssl-$USER/IDE/ARDUINO/wolfSSL
./wolfssl-arduino.sh INSTALL /mnt/c/workspace/Arduino-wolfSSL-$USER/
Publish wolfSSL from WSL to default Windows local library.
cd /mnt/c/workspace/wolfssl-$USER/IDE/ARDUINO
rm -rf /mnt/c/Users/$USER/Documents/Arduino/libraries/wolfSSL
rm -rf /mnt/c/workspace/wolfssl-arduino/IDE/ARDUINO/wolfSSL
./wolfssl-arduino.sh INSTALL
Test the TLS server by running a local command-line client.
cd /mnt/c/workspace/wolfssl-$USER
./examples/client/client -h 192.168.1.43 -p 11111 -v 3
Build wolfSSL to include wolfSSH support to an alternate development directory.
cd /mnt/c/workspace/wolfssl-$USER
./configure --prefix=/mnt/c/workspace/wolfssh-$USER/wolfssl_install --enable-ssh
make
make install
Build wolfSSH with wolfSSL not installed to default directory.
cd /mnt/c/workspace/wolfssh-$USER
./configure --with-wolfssl=/mnt/c/workspace/wolfssh-$USER/wolfssl_install
make
./examples/client/client -u jill -h 192.168.1.34 -p 22222 -P upthehill
Test the current wolfSSL.
cd /mnt/c/workspace/wolfssl-arduino
git status
./autogen.sh
./configure --enable-all
make clean
make && make test
Build and run testwolfcrypt
.
./autogen.sh
./configure --enable-all
make clean && make && ./wolfcrypt/test/testwolfcrypt