From 4dcb454067b73d74232f9cfc334b3a597e0de5f0 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Mon, 21 Jun 2021 21:16:39 -0400 Subject: [PATCH 01/24] Organize everything --- photos/TEST_PATTERN.jpg | Bin 13768 -> 0 bytes photos/TEST_PATTERN.jpg.kra | Bin 31456 -> 0 bytes photos/camera_latest.jpg | Bin 88138 -> 0 bytes working/working.jpg | Bin 4787 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 photos/TEST_PATTERN.jpg delete mode 100644 photos/TEST_PATTERN.jpg.kra delete mode 100644 photos/camera_latest.jpg delete mode 100644 working/working.jpg diff --git a/photos/TEST_PATTERN.jpg b/photos/TEST_PATTERN.jpg deleted file mode 100644 index 432f18ef5111d0ba17fbb7c4ef55f6cec8442b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13768 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 O!@~Yo_22$@?tcN^EE5v| diff --git a/photos/TEST_PATTERN.jpg.kra b/photos/TEST_PATTERN.jpg.kra deleted file mode 100644 index 70281172c3cb337a0ff56b98a20f5e54bbb98772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31456 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

kf@|hsL@?W8I;#?$B6wXskOl)*Tw_4vlq( z#=1je-J!AW&{%h9tUEN;9UAKnjdh2{x?b%(~fLu36P zL}RHB6`!EMf|uGUg9f01(IZwS_GTu=7FGskCN~SBZB6T#C%_PO?yW>}$STW(uHrpa z&Ws^8e79~5-^F0AA0Bo+N z%`i5`zc7fTN2_-{T73H);*YpvHt!i9oM@FCGy<3@4S()1&DhKw zM)tdFx;0ne=b%T@o(r2I_)lj=?xjDFxBa4^5uw4JO) zQo-np_r1;U7e7w!++er);RMEafFk$@v0w_BKOWif9}~IG#-_R&nw423#kPF68)>iwRWwq>z4N6WWfA^ zQbIX0A+#IZPY|^L8TZ@>zN_PB>tKaMmGRhc(gJ9v+-j{$rHJbp-ET|>FZ}ADiiAW> z3-G&^3l5vky9FRKkl);Bfg4(IGgZ(_+X})rvmuX&=_0sgBSqyHhGITtUUY&Qxu(;0;>S+mm3y3wU01^3mHeTkp94H_Qy)D?0z_)P zfxU6d#ez{nj(guPtc$9F)9CBH3WYPToQPo0>{fgcA8?*Z_fe()09^RueyG&e1P5VD{4565grgFSNODq%t& z{Ne+@w{~HxdaH{8&@aaDgR$u6yhd{=*>42c68}ycw~?=|IP%<*Kz^jVKL&DBg!wtXeJZQ$(@Lige{VVg$xQmaiD@>|e%`&Fob!p2 zq}htnjWnu_4G?%9I0#5=sGpVvzF9Nx$7O-R!^iF8o!`xu)z6Crf2aBh|NG;bz(3Id z0Pp;GZm7Pm5d0(IkL$61Cp-qv5cuQjtUpr!xa#M3>OSz4c)wW#^gH2C6X*T7GT?W@ z1@KzPe?E=gk9>ZdfbTn>cG|z<^SkNzzBB#f$@soAMWOpkreHAWkGy^aW`E};EAtn; z{tTx5Bl{n5s^8hC$^XFq2h{41oPNw%zH^!cPigu?2BRPi15R%M07US!0&FMuTyOUN EA0V|tumAu6 diff --git a/photos/camera_latest.jpg b/photos/camera_latest.jpg deleted file mode 100644 index 7ffc30e6494d0935b97fcb299e4a2b721611f984..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88138 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%0A}f8*tyZx2>C^n0+6sdCXYu$1eE- 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 GfB)GpNI-u8 diff --git a/working/working.jpg b/working/working.jpg deleted file mode 100644 index 9e1700c871d49c6f2feff359d85f094b722ee018..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4787 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 Date: Mon, 21 Jun 2021 21:19:16 -0400 Subject: [PATCH 02/24] Add default artifacts --- .../raspberry_pi/resources/TEST_PATTERN.jpg | Bin 0 -> 13768 bytes .../raspberry_pi/working/working.jpg | Bin 0 -> 4787 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 crawler_software/raspberry_pi/resources/TEST_PATTERN.jpg create mode 100644 crawler_software/raspberry_pi/working/working.jpg diff --git a/crawler_software/raspberry_pi/resources/TEST_PATTERN.jpg b/crawler_software/raspberry_pi/resources/TEST_PATTERN.jpg new file mode 100644 index 0000000000000000000000000000000000000000..432f18ef5111d0ba17fbb7c4ef55f6cec8442b20 GIT binary patch literal 13768 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 O!@~Yo_22$@?tcN^EE5v| literal 0 HcmV?d00001 diff --git a/crawler_software/raspberry_pi/working/working.jpg b/crawler_software/raspberry_pi/working/working.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e1700c871d49c6f2feff359d85f094b722ee018 GIT binary patch literal 4787 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 Date: Sun, 27 Jun 2021 22:57:07 -0400 Subject: [PATCH 03/24] Copy in slave example code from droneworkshop --- .../crawler_slave/crawler_slave.ino | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino diff --git a/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino new file mode 100644 index 0000000..cd6d265 --- /dev/null +++ b/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino @@ -0,0 +1,37 @@ +/* + Arduino Slave for Raspberry Pi Master + i2c_slave_ard.ino + Connects to Raspberry Pi via I2C + + DroneBot Workshop 2019 + https://dronebotworkshop.com +*/ + +// Include the Wire library for I2C +#include + +// LED on pin 13 +const int ledPin = 13; + +void setup() { + // Join I2C bus as slave with address 8 + Wire.begin(0x8); + + // Call receiveEvent when data received + Wire.onReceive(receiveEvent); + + // Setup pin 13 as output and turn LED off + pinMode(ledPin, OUTPUT); + digitalWrite(ledPin, LOW); +} + +// Function that executes whenever data is received from master +void receiveEvent(int howMany) { + while (Wire.available()) { // loop through all but the last + char c = Wire.read(); // receive byte as a character + digitalWrite(ledPin, c); + } +} +void loop() { + delay(100); +} From c2439c8fa1afa4c12dbc8cecefee825c6946e5ee Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Mon, 28 Jun 2021 01:23:43 -0400 Subject: [PATCH 04/24] Copy in example servo code, pwm is way better! --- .../crawler_slave/crawler_slave.ino | 50 ++++++++----------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino index cd6d265..dd53007 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino @@ -1,37 +1,31 @@ -/* - Arduino Slave for Raspberry Pi Master - i2c_slave_ard.ino - Connects to Raspberry Pi via I2C - - DroneBot Workshop 2019 - https://dronebotworkshop.com +/* Sweep + by BARRAGAN + This example code is in the public domain. + + modified 8 Nov 2013 + by Scott Fitzgerald + http://www.arduino.cc/en/Tutorial/Sweep */ -// Include the Wire library for I2C -#include +#include -// LED on pin 13 -const int ledPin = 13; +Servo myservo; // create servo object to control a servo +// twelve servo objects can be created on most boards + +int pos = 0; // variable to store the servo position void setup() { - // Join I2C bus as slave with address 8 - Wire.begin(0x8); - - // Call receiveEvent when data received - Wire.onReceive(receiveEvent); - - // Setup pin 13 as output and turn LED off - pinMode(ledPin, OUTPUT); - digitalWrite(ledPin, LOW); + myservo.attach(9); // attaches the servo on pin 9 to the servo object } -// Function that executes whenever data is received from master -void receiveEvent(int howMany) { - while (Wire.available()) { // loop through all but the last - char c = Wire.read(); // receive byte as a character - digitalWrite(ledPin, c); +void loop() { + for (pos = 70; pos <= 130; pos += 1) { // goes from 0 degrees to 180 degrees + // in steps of 1 degree + myservo.write(pos); // tell servo to go to position in variable 'pos' + delay(15); // waits 15ms for the servo to reach the position + } + for (pos = 130; pos >= 70; pos -= 1) { // goes from 180 degrees to 0 degrees + myservo.write(pos); // tell servo to go to position in variable 'pos' + delay(15); // waits 15ms for the servo to reach the position } } -void loop() { - delay(100); -} From 75cb115330f6f87d90813fc67ff0f7feb3b4007d Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Mon, 28 Jun 2021 01:29:59 -0400 Subject: [PATCH 05/24] Modify code +- limits for pwm sweep --- .../arduino/crawler_slave/crawler_slave/crawler_slave.ino | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino index dd53007..b38d788 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino @@ -16,9 +16,7 @@ int pos = 0; // variable to store the servo position void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object -} -void loop() { for (pos = 70; pos <= 130; pos += 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' @@ -29,3 +27,7 @@ void loop() { delay(15); // waits 15ms for the servo to reach the position } } + +void loop() { + delay(1000); +} From 8fede6107b155e3cba9cdc1f2099882a2f4526d0 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Mon, 28 Jun 2021 01:30:35 -0400 Subject: [PATCH 06/24] Move .ino into the correct folder --- .../arduino/crawler_slave/{crawler_slave => }/crawler_slave.ino | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename crawler_software/arduino/crawler_slave/{crawler_slave => }/crawler_slave.ino (100%) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino similarity index 100% rename from crawler_software/arduino/crawler_slave/crawler_slave/crawler_slave.ino rename to crawler_software/arduino/crawler_slave/crawler_slave.ino From e8dd3c3fe9254cc47f1d8d4656b1725c4222d4c5 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Wed, 30 Jun 2021 00:56:08 +0100 Subject: [PATCH 07/24] Copy in functioning tests from pi --- .../raspberry_pi/{ => tests}/servo_test.py | 0 .../raspberry_pi/tests/test_i2c.py | 35 +++++++++++++++++++ .../raspberry_pi/tests/test_tx.py | 12 +++++++ 3 files changed, 47 insertions(+) rename crawler_software/raspberry_pi/{ => tests}/servo_test.py (100%) create mode 100644 crawler_software/raspberry_pi/tests/test_i2c.py create mode 100644 crawler_software/raspberry_pi/tests/test_tx.py diff --git a/crawler_software/raspberry_pi/servo_test.py b/crawler_software/raspberry_pi/tests/servo_test.py similarity index 100% rename from crawler_software/raspberry_pi/servo_test.py rename to crawler_software/raspberry_pi/tests/servo_test.py diff --git a/crawler_software/raspberry_pi/tests/test_i2c.py b/crawler_software/raspberry_pi/tests/test_i2c.py new file mode 100644 index 0000000..49c84ca --- /dev/null +++ b/crawler_software/raspberry_pi/tests/test_i2c.py @@ -0,0 +1,35 @@ +# Raspberry Pi Master for Arduino Slave +# i2c_master_pi.py +# Connects to Arduino via I2C + +# DroneBot Workshop 2019 +# https://dronebotworkshop.com + +from smbus import SMBus +import time + +addr = 0x8 # bus address +bus = SMBus(1) # indicates /dev/ic2-1 + +numb = 1 + +print ("Enter num") + +for _x in range (0, 4): + for i in range(70, 130): + bus.write_byte(addr, i) + time.sleep(0.02) + for i in range(130, 70, -1): + bus.write_byte(addr, i) + time.sleep(0.02) + +#while numb == 1: +# +# ledstate = input(">>>> ") +# +# if ledstate == "1": +# bus.write_byte(addr, 0x1) # switch it on +# elif ledstate == "0": +# bus.write_byte(addr, 0x0) # switch it on +# else: +# numb = 0 diff --git a/crawler_software/raspberry_pi/tests/test_tx.py b/crawler_software/raspberry_pi/tests/test_tx.py new file mode 100644 index 0000000..747b9ed --- /dev/null +++ b/crawler_software/raspberry_pi/tests/test_tx.py @@ -0,0 +1,12 @@ +import RPi.GPIO as GPIO # Import Raspberry Pi GPIO library +from time import sleep # Import the sleep function from the time module + +GPIO.setwarnings(False) # Ignore warning for now +GPIO.setmode(GPIO.BOARD) # Use physical pin numbering +GPIO.setup(12, GPIO.OUT, initial=GPIO.LOW) # Set pin 8 to be an output pin and set initial value to low (off) + +while True: # Run forever + GPIO.output(12, GPIO.HIGH) # Turn on + sleep(1) # Sleep for 1 second + GPIO.output(12, GPIO.LOW) # Turn off + sleep(1) # Sleep for 1 second From 6a74fcb472f6424bcf3d734519b414b9713a08ee Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Wed, 30 Jun 2021 03:19:09 +0100 Subject: [PATCH 08/24] Added crawler discord bot --- .../raspberry_pi/tests/discordbot.py | 61 +++++++++++++++++++ .../raspberry_pi/tests/test_i2c.py | 4 +- 2 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 crawler_software/raspberry_pi/tests/discordbot.py diff --git a/crawler_software/raspberry_pi/tests/discordbot.py b/crawler_software/raspberry_pi/tests/discordbot.py new file mode 100644 index 0000000..02226d4 --- /dev/null +++ b/crawler_software/raspberry_pi/tests/discordbot.py @@ -0,0 +1,61 @@ +from discord_webhook import DiscordWebhook +from picamera import PiCamera +from time import sleep +from gps import * +from smbus import SMBus +import time + +addr = 0x8 # bus address +bus = SMBus(1) # indicates /dev/ic2-1 + +numb = 1 + +try: + for _x in range (0, 2): + for i in range(70, 130): + bus.write_byte(addr, i) + time.sleep(0.02) + for i in range(130, 70, -1): + bus.write_byte(addr, i) + time.sleep(0.02) +except OSError: + print("Could not speak to ardujmemo") + +def get_uptime(): + with open('/proc/uptime', 'r') as f: + uptime_seconds = float(f.readline().split()[0]) + + return uptime_seconds + +def getPositionData(gps): + location = [None] + while(location[0] == None): + print("Trying again") + nx = gpsd.next() + # For a list of all supported classes and fields refer to: + # https://gpsd.gitlab.io/gpsd/gpsd_json.html + if nx['class'] == 'TPV': + latitude = getattr(nx,'lat', "Unknown") + longitude = getattr(nx,'lon', "Unknown") + #print "Your position: lon = " + str(longitude) + ", lat = " + str(latitude) + location = [latitude, longitude] + return location + +gpsd = gps(mode=WATCH_ENABLE|WATCH_NEWSTYLE) + +loc = getPositionData(gpsd) + +webhookURL = "https://discord.com/api/webhooks/856609966404534272/TR9tnLq2sIGZoOeADNswmGRNlzBcqM5aKihfU6snVTP9WhSSoVVvi7nT6i-ZfZS7Hcqm" + +print(loc[0]) +print(loc[1]) +webhook = DiscordWebhook(url=webhookURL, content="Uptime: " + str( round( ((get_uptime() / 60) / 60 ), 2 )) + " hours. Lat is " + str(loc[0]) + ", long is " + str(loc[1])) + +camera = PiCamera() +sleep(3) # let iso settle out +camera.capture('still.jpg') + +with open("still.jpg", "rb") as f: + webhook.add_file(file=f.read(), filename='still.jpg') +response = webhook.execute() # Hit send + diff --git a/crawler_software/raspberry_pi/tests/test_i2c.py b/crawler_software/raspberry_pi/tests/test_i2c.py index 49c84ca..96bf7f3 100644 --- a/crawler_software/raspberry_pi/tests/test_i2c.py +++ b/crawler_software/raspberry_pi/tests/test_i2c.py @@ -16,10 +16,10 @@ numb = 1 print ("Enter num") for _x in range (0, 4): - for i in range(70, 130): + for i in range(76, 130): bus.write_byte(addr, i) time.sleep(0.02) - for i in range(130, 70, -1): + for i in range(130, 76, -1): bus.write_byte(addr, i) time.sleep(0.02) From c0b5d40653c2c72130dd41e187068efaae1857fe Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Tue, 29 Jun 2021 22:46:25 -0400 Subject: [PATCH 09/24] Cleanup slave software --- .../arduino/crawler_slave/crawler_slave.ino | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index b38d788..2388bec 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -7,6 +7,7 @@ http://www.arduino.cc/en/Tutorial/Sweep */ +#include #include Servo myservo; // create servo object to control a servo @@ -17,17 +18,20 @@ int pos = 0; // variable to store the servo position void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object - for (pos = 70; pos <= 130; pos += 1) { // goes from 0 degrees to 180 degrees - // in steps of 1 degree - myservo.write(pos); // tell servo to go to position in variable 'pos' - delay(15); // waits 15ms for the servo to reach the position - } - for (pos = 130; pos >= 70; pos -= 1) { // goes from 180 degrees to 0 degrees - myservo.write(pos); // tell servo to go to position in variable 'pos' - delay(15); // waits 15ms for the servo to reach the position - } + Wire.begin(0x8); + + // Call receiveEvent when data received + Wire.onReceive(receiveEvent); + } void loop() { - delay(1000); + delay(10); +} + +void receiveEvent(int howMany) { + while (Wire.available()) { // loop through all but the last + int pos = Wire.read(); // receive byte as a int + myservo.write(pos); + } } From 67daffd667dfb297d79434096296add1eb3e23d7 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Tue, 29 Jun 2021 22:57:51 -0400 Subject: [PATCH 10/24] Cleanup slave software again. --- .../arduino/crawler_slave/crawler_slave.ino | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index 2388bec..447eef9 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -1,23 +1,20 @@ -/* Sweep - by BARRAGAN - This example code is in the public domain. - - modified 8 Nov 2013 - by Scott Fitzgerald - http://www.arduino.cc/en/Tutorial/Sweep -*/ +/* Crawler Slave + * + * This code runs on the crawler i2c network + * and provides a cleaner, less CPU intensive control over PWM devices. + */ #include #include -Servo myservo; // create servo object to control a servo -// twelve servo objects can be created on most boards - -int pos = 0; // variable to store the servo position +// This servo is used to wipe and clean the camera lens +Servo windowWiperServo; void setup() { - myservo.attach(9); // attaches the servo on pin 9 to the servo object + // Attach the wiper servo to pin 9 + windowWiperServo.attach(9); + // This is the address the pi will speak to us at Wire.begin(0x8); // Call receiveEvent when data received @@ -25,13 +22,15 @@ void setup() { } +// Just loop to keep the running code alive, and wait for events to happen. void loop() { - delay(10); + delay(50); } +// This method runs when we receive a message void receiveEvent(int howMany) { while (Wire.available()) { // loop through all but the last int pos = Wire.read(); // receive byte as a int - myservo.write(pos); + windowWiperServo.write(pos); } } From aa575f67a33fb15cf5db6a2a4db73aba72352da8 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sat, 3 Jul 2021 22:54:50 -0400 Subject: [PATCH 11/24] Create/modify read string code --- .../arduino/crawler_slave/crawler_slave.ino | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index 447eef9..201cd47 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -10,16 +10,23 @@ // This servo is used to wipe and clean the camera lens Servo windowWiperServo; +// This is a variable capable of storing up to 4 items +char instruction[4] = ""; + void setup() { // Attach the wiper servo to pin 9 windowWiperServo.attach(9); + // This is only useful for debugging + Serial.begin(9600); + // This is the address the pi will speak to us at Wire.begin(0x8); // Call receiveEvent when data received Wire.onReceive(receiveEvent); - + + Serial.print("Finished Setup."); } // Just loop to keep the running code alive, and wait for events to happen. @@ -28,9 +35,11 @@ void loop() { } // This method runs when we receive a message -void receiveEvent(int howMany) { - while (Wire.available()) { // loop through all but the last - int pos = Wire.read(); // receive byte as a int - windowWiperServo.write(pos); +void receiveEvent(int n) { + for (int i = 0; i < n; i++) //n is equal to the number of data bytes received + { + instruction[i] = Wire.read(); } + + Serial.print(instruction); } From 83a33cc20225116343286ea05b7d126f8f37cf16 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sat, 3 Jul 2021 23:57:17 -0400 Subject: [PATCH 12/24] Finalize better reading of full string over i2c and splitting --- .../arduino/crawler_slave/crawler_slave.ino | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index 201cd47..dcfca5c 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -11,7 +11,11 @@ Servo windowWiperServo; // This is a variable capable of storing up to 4 items -char instruction[4] = ""; +char instruction[32] = ""; + +// Values for the id, and raw value of an instruction +char * id; +char * raw_value; void setup() { // Attach the wiper servo to pin 9 @@ -21,12 +25,12 @@ void setup() { Serial.begin(9600); // This is the address the pi will speak to us at - Wire.begin(0x8); + Wire.begin(0x4); // Call receiveEvent when data received Wire.onReceive(receiveEvent); - Serial.print("Finished Setup."); + Serial.println("Finished Setup."); } // Just loop to keep the running code alive, and wait for events to happen. @@ -36,10 +40,27 @@ void loop() { // This method runs when we receive a message void receiveEvent(int n) { - for (int i = 0; i < n; i++) //n is equal to the number of data bytes received - { + + for (int i = 0; i < n; i++) { instruction[i] = Wire.read(); + instruction[i + 1] = '\0'; //add null after ea. char + } + + //RPi first byte is cmd byte so shift everything to the left 1 pos so temp contains our string + for (int i = 0; i < n; ++i) + instruction[i] = instruction[i + 1]; + + id = strtok (instruction, "-"); + raw_value = strtok (NULL, "-"); + + int value = atoi(raw_value); + + Serial.println(id); + Serial.println(value); + + // Switch statements dont work on char * + if (strcmp(id,"WIPE") == 0) // if id, and WIPE cancel out + { + windowWiperServo.write(value); } - - Serial.print(instruction); } From 227815ac32c87f17ea211849267c22dce13d7666 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 00:07:36 -0400 Subject: [PATCH 13/24] Everything moves a lot smoother without serial: todo jump speed? --- crawler_software/arduino/crawler_slave/crawler_slave.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index dcfca5c..820dccb 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -22,7 +22,7 @@ void setup() { windowWiperServo.attach(9); // This is only useful for debugging - Serial.begin(9600); + //Serial.begin(9600); // This is the address the pi will speak to us at Wire.begin(0x4); @@ -30,7 +30,7 @@ void setup() { // Call receiveEvent when data received Wire.onReceive(receiveEvent); - Serial.println("Finished Setup."); + //Serial.println("Finished Setup."); } // Just loop to keep the running code alive, and wait for events to happen. @@ -55,8 +55,8 @@ void receiveEvent(int n) { int value = atoi(raw_value); - Serial.println(id); - Serial.println(value); + //Serial.println(id); + //Serial.println(value); // Switch statements dont work on char * if (strcmp(id,"WIPE") == 0) // if id, and WIPE cancel out From 941b5ac4e8a0d6ece93675f13099229a48a56121 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 12:16:41 -0400 Subject: [PATCH 14/24] Create crawler service file. --- crawler_software/raspberry_pi/crawler.service | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 crawler_software/raspberry_pi/crawler.service diff --git a/crawler_software/raspberry_pi/crawler.service b/crawler_software/raspberry_pi/crawler.service new file mode 100644 index 0000000..57363ad --- /dev/null +++ b/crawler_software/raspberry_pi/crawler.service @@ -0,0 +1,12 @@ +[Unit] +Description=Crawler service overseer, manages running main crawler software +After=multi-user.target +Conflicts=getty@tty1.service + +[Service] +Type=simple +ExecStart=/usr/bin/python /srv/crawler/crawler.py +StandardInput=tty-force + +[Install] +WantedBy=multi-user.target From 2ee6bbef907d97d87e9236b09e2e34810a95942b Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 12:18:43 -0400 Subject: [PATCH 15/24] Modify crawler service file. --- crawler_software/raspberry_pi/crawler.service | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crawler_software/raspberry_pi/crawler.service b/crawler_software/raspberry_pi/crawler.service index 57363ad..e3fcca5 100644 --- a/crawler_software/raspberry_pi/crawler.service +++ b/crawler_software/raspberry_pi/crawler.service @@ -1,12 +1,11 @@ [Unit] Description=Crawler service overseer, manages running main crawler software After=multi-user.target -Conflicts=getty@tty1.service [Service] Type=simple +Restart=always ExecStart=/usr/bin/python /srv/crawler/crawler.py -StandardInput=tty-force [Install] WantedBy=multi-user.target From 6f1e5af90f56e10ef2144073d40f32e29d024ed8 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 12:22:21 -0400 Subject: [PATCH 16/24] Cleanup requirements.txt --- crawler_software/raspberry_pi/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crawler_software/raspberry_pi/requirements.txt b/crawler_software/raspberry_pi/requirements.txt index 7ecfacd..187c797 100644 --- a/crawler_software/raspberry_pi/requirements.txt +++ b/crawler_software/raspberry_pi/requirements.txt @@ -1,2 +1,2 @@ PySSTV -picamera \ No newline at end of file +picamera From 8f7e12ec90874a71c53bf780838b3cf7c349f76a Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 18:39:08 -0400 Subject: [PATCH 17/24] Create readme.md with basic install docs. --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ff13855 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# To install on robot + +``` +git clone +cd lewis-crawler/crawler_software/raspberry_pi +make install? +``` From de214dfc6b730d4f879255a17525c3a82be9a1da Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Mon, 5 Jul 2021 01:03:33 +0100 Subject: [PATCH 18/24] Edit servo extent --- .../raspberry_pi/tests/discordbot.py | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/crawler_software/raspberry_pi/tests/discordbot.py b/crawler_software/raspberry_pi/tests/discordbot.py index 02226d4..9ad51e6 100644 --- a/crawler_software/raspberry_pi/tests/discordbot.py +++ b/crawler_software/raspberry_pi/tests/discordbot.py @@ -5,18 +5,30 @@ from gps import * from smbus import SMBus import time -addr = 0x8 # bus address +addr = 0x4 # bus address bus = SMBus(1) # indicates /dev/ic2-1 numb = 1 +def writeData(value): + byteValue = StringToBytes(value) + bus.write_i2c_block_data(addr,0x00,byteValue) #first byte is 0=command byte.. just is. + return -1 + + +def StringToBytes(val): + retVal = [] + for c in val: + retVal.append(ord(c)) + return retVal + try: for _x in range (0, 2): - for i in range(70, 130): - bus.write_byte(addr, i) + for i in range(78, 130): + writeData("WIPE-" + str(i)) time.sleep(0.02) - for i in range(130, 70, -1): - bus.write_byte(addr, i) + for i in range(130, 78, -1): + writeData("WIPE-" + str(i)) time.sleep(0.02) except OSError: print("Could not speak to ardujmemo") From f34cb81c7ad69239b5bbb938005c9780555ff777 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 20:32:04 -0400 Subject: [PATCH 19/24] Update new sorting/recv mechanism --- .../arduino/crawler_slave/crawler_slave.ino | 44 +++++-------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index 820dccb..e3e6cad 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -10,27 +10,20 @@ // This servo is used to wipe and clean the camera lens Servo windowWiperServo; -// This is a variable capable of storing up to 4 items -char instruction[32] = ""; - -// Values for the id, and raw value of an instruction -char * id; -char * raw_value; +// Variables populated over i2c from master +int id; +int val; void setup() { // Attach the wiper servo to pin 9 windowWiperServo.attach(9); - // This is only useful for debugging - //Serial.begin(9600); - // This is the address the pi will speak to us at - Wire.begin(0x4); + Wire.begin(0x8); // Call receiveEvent when data received Wire.onReceive(receiveEvent); - - //Serial.println("Finished Setup."); + } // Just loop to keep the running code alive, and wait for events to happen. @@ -40,27 +33,14 @@ void loop() { // This method runs when we receive a message void receiveEvent(int n) { - - for (int i = 0; i < n; i++) { - instruction[i] = Wire.read(); - instruction[i + 1] = '\0'; //add null after ea. char + while (Wire.available()) { // loop through all but the last + id = Wire.read(); // ID of the servo/device to access + val = Wire.read(); // Value to assign } - //RPi first byte is cmd byte so shift everything to the left 1 pos so temp contains our string - for (int i = 0; i < n; ++i) - instruction[i] = instruction[i + 1]; - - id = strtok (instruction, "-"); - raw_value = strtok (NULL, "-"); - - int value = atoi(raw_value); - - //Serial.println(id); - //Serial.println(value); - - // Switch statements dont work on char * - if (strcmp(id,"WIPE") == 0) // if id, and WIPE cancel out - { - windowWiperServo.write(value); + switch(id) { + case 1: + windowWiperServo.write(val); + break; } } From 13eb27b9c354d8214a2db031509d9973a642eb0b Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 20:34:15 -0400 Subject: [PATCH 20/24] Remove unnecicary loop --- crawler_software/arduino/crawler_slave/crawler_slave.ino | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index e3e6cad..8a1d2ee 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -33,10 +33,8 @@ void loop() { // This method runs when we receive a message void receiveEvent(int n) { - while (Wire.available()) { // loop through all but the last - id = Wire.read(); // ID of the servo/device to access - val = Wire.read(); // Value to assign - } + id = Wire.read(); // ID of the servo/device to access + val = Wire.read(); // Value to assign switch(id) { case 1: From 32bd0f5b55d765f5b2f705bb50634e6fa9924c39 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 20:36:13 -0400 Subject: [PATCH 21/24] Add sanity check --- .../arduino/crawler_slave/crawler_slave.ino | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index 8a1d2ee..7ef159b 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -33,12 +33,14 @@ void loop() { // This method runs when we receive a message void receiveEvent(int n) { - id = Wire.read(); // ID of the servo/device to access - val = Wire.read(); // Value to assign - - switch(id) { - case 1: - windowWiperServo.write(val); - break; + if (Wire.available() == 2) { // Dont do anything if this is not true + id = Wire.read(); // ID of the servo/device to access + val = Wire.read(); // Value to assign + + switch(id) { + case 1: + windowWiperServo.write(val); + break; + } } } From b5ba5f6f9e94344ce5b61f85331243f499457840 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Mon, 5 Jul 2021 02:37:18 +0100 Subject: [PATCH 22/24] Add stack overflow working pycode! --- .../raspberry_pi/tests/stack_overflow.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 crawler_software/raspberry_pi/tests/stack_overflow.py diff --git a/crawler_software/raspberry_pi/tests/stack_overflow.py b/crawler_software/raspberry_pi/tests/stack_overflow.py new file mode 100644 index 0000000..38e1d7a --- /dev/null +++ b/crawler_software/raspberry_pi/tests/stack_overflow.py @@ -0,0 +1,20 @@ +import smbus +import time +import struct + +# for RPI version 1, use bus = smbus.SMBus(0) +bus = smbus.SMBus(1) + +# This is the address we setup in the Arduino Program +address = 0x04 + +try: + for _x in range (0, 2): + for i in range(78, 130): + bus.write_i2c_block_data(address, 0, [1, i]) + time.sleep(0.02) + for i in range(130, 78, -1): + bus.write_i2c_block_data(address, 0, [1, i]) + time.sleep(0.02) +except OSError: + print("Could not speak to ardujmemo") From 21330c945d3796d2da2c2229f67994972682e508 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 21:37:58 -0400 Subject: [PATCH 23/24] Finalize (mostly) new and improved slavecode --- .../arduino/crawler_slave/crawler_slave.ino | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index 7ef159b..47abae0 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -15,15 +15,23 @@ int id; int val; void setup() { + // For debugging + //Serial.begin(115200); + // Attach the wiper servo to pin 9 windowWiperServo.attach(9); // This is the address the pi will speak to us at - Wire.begin(0x8); + Wire.begin(0x4); // Call receiveEvent when data received Wire.onReceive(receiveEvent); - + + // Setup LED + pinMode(LED_BUILTIN, OUTPUT); + digitalWrite(LED_BUILTIN, LOW); + + //Serial.println("Started"); } // Just loop to keep the running code alive, and wait for events to happen. @@ -33,9 +41,14 @@ void loop() { // This method runs when we receive a message void receiveEvent(int n) { - if (Wire.available() == 2) { // Dont do anything if this is not true + Wire.read(); + digitalWrite(LED_BUILTIN, HIGH); + if (true) { // Dont do anything if this is not true id = Wire.read(); // ID of the servo/device to access val = Wire.read(); // Value to assign + + //Serial.println(id); + //Serial.println(val); switch(id) { case 1: @@ -43,4 +56,5 @@ void receiveEvent(int n) { break; } } + digitalWrite(LED_BUILTIN, LOW); } From 6fbb53b6bd18cf1e805d7cae0a8e0b10ce9f3866 Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Sun, 4 Jul 2021 22:10:05 -0400 Subject: [PATCH 24/24] Fix a bug where arduino would crash on incorrectly sized i2c payload --- crawler_software/arduino/crawler_slave/crawler_slave.ino | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/crawler_software/arduino/crawler_slave/crawler_slave.ino b/crawler_software/arduino/crawler_slave/crawler_slave.ino index 47abae0..dee8522 100644 --- a/crawler_software/arduino/crawler_slave/crawler_slave.ino +++ b/crawler_software/arduino/crawler_slave/crawler_slave.ino @@ -41,8 +41,7 @@ void loop() { // This method runs when we receive a message void receiveEvent(int n) { - Wire.read(); - digitalWrite(LED_BUILTIN, HIGH); + Wire.read(); // Remove smbus trash if (true) { // Dont do anything if this is not true id = Wire.read(); // ID of the servo/device to access val = Wire.read(); // Value to assign @@ -56,5 +55,9 @@ void receiveEvent(int n) { break; } } - digitalWrite(LED_BUILTIN, LOW); + + // Prevents a bug where if bytes are left in buffer, arduino crashes. + while (Wire.available()) { + Wire.read(); + } }