Browse Source

Create entropy test sketch for random ids

master
Starbeamrainbowlabs 3 years ago
parent
commit
5f6c5633e6
  1. 3
      .gitmodules
  2. 4
      README.md
  3. 1
      iot/EntropyTest/Entropy.cpp
  4. 1
      iot/EntropyTest/Entropy.h
  5. 39
      iot/EntropyTest/EntropyTest.ino
  6. 1
      iot/libraries/Entropy

3
.gitmodules vendored

@ -1,3 +1,6 @@ @@ -1,3 +1,6 @@
[submodule "lantern-build-engine"]
path = lantern-build-engine
url = https://gitlab.com/sbrl/lantern-build-engine.git
[submodule "iot/libraries/Entropy"]
path = iot/libraries/Entropy
url = https://github.com/taoyuan/Entropy.git

4
README.md

@ -14,3 +14,7 @@ @@ -14,3 +14,7 @@
- [Battery](https://smile.amazon.co.uk/Anker-PowerCore-Aluminum-Portable-Lipstick-Sized-Black/dp/B005QI1A8C/) - Size currently unknown - I'll need to run some tests to see how much power it uses to figure out the right battery size.
- [Project box](https://smile.amazon.co.uk/waterproof-plastic-Enclosure-Power-junction-Grey/dp/B01JHBHNMA/) - if we can't 3D print one
- [TPL-5111](https://www.adafruit.com/product/3573) - also available from Pimoroni
## Useful Links
- Entropy extraction from the watchdog timer vs the internal clock: https://github.com/taoyuan/Entropy

1
iot/EntropyTest/Entropy.cpp

@ -0,0 +1 @@ @@ -0,0 +1 @@
../libraries/Entropy/Entropy.cpp

1
iot/EntropyTest/Entropy.h

@ -0,0 +1 @@ @@ -0,0 +1 @@
../libraries/Entropy/Entropy.h

39
iot/EntropyTest/EntropyTest.ino

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
// Generate_Random_Numbers - This sketch makes use of the Entropy library
// to produce a sequence of random integers and floating point values.
// to demonstrate the use of the entropy library
//
// Copyright 2012 by Walter Anderson
//
// This file is part of Entropy, an Arduino library.
// Entropy is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Entropy is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Entropy. If not, see <http://www.gnu.org/licenses/>.
//
// Edited by Starbeamrainbowlabs 2019
#include "Entropy.h"
void setup() {
Serial.begin(9600);
// This routine sets up the watch dog timer with interrupt handler to maintain a
// pool of real entropy for use in sketches. This mechanism is relatively slow
// since it will only produce a little less than two 32-bit random values per
// second.
Entropy.initialize();
}
void loop() {
uint32_t random_long;
random_long = Entropy.random();
Serial.println(random_long);
}

1
iot/libraries/Entropy

@ -0,0 +1 @@ @@ -0,0 +1 @@
Subproject commit 807c45cfe3e48422559b2aed5bc7de28df15ab3d
Loading…
Cancel
Save