ParkURBN / Individual-nodes-in-network

Code for Individual nodes of network with different IDs and other changes
0 stars 0 forks source link

Project Report #6

Open IAMIAR opened 7 years ago

IAMIAR commented 7 years ago

Schedule: Day Time: Hardware Assembly, Flash firmware and physical test Night: No lab equipment in my home. Writing Firmware and possible solution

Key General Features that is Tested

  1. Simplex communication on optical system
  2. 3.7V Battery Driven
  3. One sample when requesting data and raw XYZ data was sent.
  4. 15 seconds sampling rate ------->move to I2C interrupt with Sleep mode and Power management
  5. No GSM yet because it needs extra physical SPI/UART connection with Particle Electron (not mentioned when I designed the PCB)
  6. No networking built and ID assignment protocol yet

Updates on Optical Communication Systems

  1. One -to- One Communication in 13 feet under indoor lab environment 1.1 Please see test pictures

  2. Three in line communication in 3 feet and protocol is Relay Test 2.1 Messed up when they are sending data at the same time

  3. Five in line communication in 2 feet and protocol is relay.

Update on Power System

  1. See Slack
  2. Logic high should be 3.3V but it is 3.1V. 3.Power up and BLE enabled (See the following link here

Changes on Harware

  1. Replaced 2N3904 with high speed MOSFET
  2. Hooked up extra jumper SPI wire with GSM module
  3. Soldered wire to connected battery
  4. Replace 87K resistor with Rheostats for debugging

To Do This Week

  1. Outdoor test with battery
  2. Test BLE with Android
bryceloop commented 7 years ago

Distance testing for the 13ft indoor lab environment -- the pictures don't seem to load for me. Do you have an possible solutions for relay difficulties with owc? My original thoughts were to have a small packet sent via bluetooth that would tell the next unit to listen -- but in practice this might be difficult.

As for the GSM module; I realize this wasn't heavily emphasized when we were building the first PCB -- that's my fault I overlooked it. Do you think, for now, we could use something like an adafruit BLE 4.0 breakout board with just the particle electron to grab incoming information from the last node? I assume there wouldn't be communication issues between the node BLE and the adafruit BLE.

For hardware changes, you were able to attach an SPI wire for the GSM module? Have you began firmware for SPI to the particle on both the node 1 side and the Particle Electron side, or just the Node 1 side? Is there anything I can do to help?

My plan right now, assuming you haven't started developing firmware for the Electron, would be to write something simple ( I can do this since you have a lot you're working on right now). Basically it'll listen to SPI, load that into a buffer. Wait for SPI to stop. Load that into a matrix (Not exactly sure how you have BLE collecting data -- is it single entry (i.e. one node value passed at a time) or is it cumulative (i.e. all previous node data sent at once) -- is there a benefit to passing an entire array with all prior nodes (for power consumption/BLE module uptime) -- or is it best to just pass a single node as it comes?

Assuming it's single entry, we could just fill a matrix in the Particle Electron and pass that to the server with the webhook command once every 15-30s (Ideally it would have TWO matrices; one of last posted values, and one of new values, compare the two, and only update values that have CHANGED -- in an effort to cut down data costs of the GSM).

Has the Logic High being ~0.2V lower affected any of the operations? And have you been able to measure values with the magnetometer?

Thanks! Looks good otherwise. (In the future, when we're improving this code, we should probably modularize a lot more so we can easily manipulate and edit specific functions, rather than looking through 3000 lines of code. But that can wait.)

Keep me posted.

IAMIAR commented 7 years ago

@bryceloop Thanks for the comments. Let me explore more on the GSM.

A difference of 0.2V logic high does not make any effect on the performance but I will figure it out. To clarify, is the 'magnetometer' above meaning our sensor on PCB or a magnetometer tool ?

bryceloop commented 7 years ago

Yeah the sensor is what I mean.

On Jun 22, 2017 5:09 PM, "IAMIAR" notifications@github.com wrote:

Thanks for the comments. Let me explore more on the GSM.

A difference of 0.2V logic high does not make any effect on the performance but I will figure it out. To clarify, is the 'magnetometer' above meaning out sensor on PCB?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ParkURBN/Individual-nodes-in-network/issues/6#issuecomment-310535352, or mute the thread https://github.com/notifications/unsubscribe-auth/AUHGG6nxJM_7KGF9bbGE4R_f2AJWfSt2ks5sGwJAgaJpZM4N-6Hy .