#!/bin/sh # patterns DEVICEEUI=ABBAABBAABBAABBA APPEUI=ACCAACCAACCAACCA APPKEY=ADDAADDAADDAADDAADDAADDAADDAADDA if [ $# -ne 2 ]; then echo "gen_images \n" echo "devices file must be in the form :\n" echo "dev1name:dev1eui:dev1appeui:dev1appkey" echo "dev2name:dev2eui:dev2appeui:dev2appkey\n" exit 1; fi SED=sed MASTER=$1 DEVICES=$2 if [[ $OSTYPE == "darwin"* ]]; then if ! command -v gsed > /dev/null 2>&1; then echo "You need gnu-sed on darwin system (available with homebrew)" exit 1 fi SED=gsed fi if [ ! -e $MASTER ]; then echo "The master file $MASTER doesn't exists" exit 1; fi if [ ! -e $DEVICES ]; then echo "The devices file $DEVICES doesn't exists" exit 1; fi for DEVICE in $(cat $DEVICES); do name=$(echo $DEVICE | cut -d : -f 1) deviceeui=$(echo $DEVICE | cut -d : -f 2) appeui=$(echo $DEVICE | cut -d : -f 3) appkey=$(echo $DEVICE | cut -d : -f 4) echo "Generating device $name ($deviceeui)" hexdump -ve '1/1 "%.2X"' $MASTER | $SED "s/${DEVICEEUI}/${deviceeui}/; s/${APPEUI}/${appeui}/; s/${APPKEY}/${appkey}/" | xxd -r -p - ${deviceeui}.bin done exit;