Compare commits

...

23 Commits

  1. BIN
      3D/Anemometer/Base.FCStd
  2. BIN
      3D/Anemometer/Base.stl
  3. BIN
      3D/Anemometer/Cup.FCStd
  4. BIN
      3D/Anemometer/Cup.stl
  5. BIN
      3D/Anemometer/Pivot.FCStd
  6. BIN
      3D/Anemometer/Pivot.stl
  7. BIN
      3D/Anemometer/V3/Base.FCStd
  8. BIN
      3D/Anemometer/V3/Base.stl
  9. BIN
      3D/Anemometer/V3/Cup.FCStd
  10. BIN
      3D/Anemometer/V3/Cup.FCStd1
  11. BIN
      3D/Anemometer/V3/Cup.stl
  12. BIN
      3D/Anemometer/V3/Pivot.FCStd
  13. BIN
      3D/Anemometer/V3/Pivot.FCStd1
  14. BIN
      3D/Anemometer/V3/Pivot.stl
  15. BIN
      3D/WindDirection/Arrow.FCStd
  16. BIN
      3D/WindDirection/Arrow.stl
  17. BIN
      3D/WindDirection/Base.FCStd
  18. BIN
      3D/WindDirection/Base.stl
  19. BIN
      3D/WindDirection/Pivot.FCStd
  20. BIN
      3D/WindDirection/Pivot.stl
  21. BIN
      3D/WindDirection/V3/Arrow.FCStd
  22. BIN
      3D/WindDirection/V3/Arrow.stl
  23. BIN
      3D/WindDirection/V3/Base.FCStd
  24. BIN
      3D/WindDirection/V3/Base.stl
  25. BIN
      3D/WindDirection/V3/Pivot.FCStd
  26. BIN
      3D/WindDirection/V3/Pivot.stl
  27. 95
      Arduino/Arduino.ino
  28. 43
      Arduino/GetData.ino
  29. 14
      Arduino/Sensors/GetSensor.ino
  30. 35
      Arduino/Sensors/GetWind.ino
  31. 30
      Arduino/Sensors/SendData.ino
  32. 82
      Arduino/Sensors/Sensors.ino
  33. 20
      Arduino/Sensors/Setup.ino
  34. 14
      Arduino/Transmission/GetSensor.ino
  35. 7
      Arduino/Transmission/GetWid.ino
  36. 16
      Arduino/Transmission/Request.ino
  37. 25
      Arduino/Transmission/Setup.ino
  38. 56
      Arduino/Transmission/Transmission.ino
  39. BIN
      Arduino/libraries/Arduino-SIM800L-driver-master.zip
  40. BIN
      Arduino/libraries/BME280-master.zip
  41. 26
      Circuits/GRB/SensorsPCB_contour.gm1
  42. 390
      Circuits/GRB/SensorsPCB_copperBottom.gbl
  43. 273
      Circuits/GRB/SensorsPCB_copperTop.gtl
  44. 102
      Circuits/GRB/SensorsPCB_drill.txt
  45. 117
      Circuits/GRB/SensorsPCB_maskBottom.gbs
  46. 117
      Circuits/GRB/SensorsPCB_maskTop.gts
  47. 43
      Circuits/GRB/SensorsPCB_pnp.txt
  48. 13477
      Circuits/GRB/SensorsPCB_silkBottom.gbo
  49. 32019
      Circuits/GRB/SensorsPCB_silkTop.gto
  50. BIN
      Circuits/PDF/PCB3_etch_copper_bottom.pdf
  51. BIN
      Circuits/PDF/PCB3_etch_copper_bottom_mirror.pdf
  52. BIN
      Circuits/PDF/PCB3_etch_copper_top.pdf
  53. BIN
      Circuits/PDF/PCB3_etch_copper_top_mirror.pdf
  54. BIN
      Circuits/PDF/PCB3_etch_mask_bottom.pdf
  55. BIN
      Circuits/PDF/PCB3_etch_mask_bottom_mirror.pdf
  56. BIN
      Circuits/PDF/PCB3_etch_mask_top.pdf
  57. BIN
      Circuits/PDF/PCB3_etch_mask_top_mirror.pdf
  58. BIN
      Circuits/PDF/PCB3_etch_paste_mask_bottom.pdf
  59. BIN
      Circuits/PDF/PCB3_etch_paste_mask_bottom_mirror.pdf
  60. BIN
      Circuits/PDF/PCB3_etch_paste_mask_top.pdf
  61. BIN
      Circuits/PDF/PCB3_etch_paste_mask_top_mirror.pdf
  62. BIN
      Circuits/PDF/PCB3_etch_silk_bottom.pdf
  63. BIN
      Circuits/PDF/PCB3_etch_silk_bottom_mirror.pdf
  64. BIN
      Circuits/PDF/PCB3_etch_silk_top.pdf
  65. BIN
      Circuits/PDF/PCB3_etch_silk_top_mirror.pdf
  66. BIN
      Circuits/PDF/SensorsPCB_etch_copper_bottom.pdf
  67. BIN
      Circuits/PDF/SensorsPCB_etch_copper_bottom_mirror.pdf
  68. BIN
      Circuits/PDF/SensorsPCB_etch_copper_top.pdf
  69. BIN
      Circuits/PDF/SensorsPCB_etch_copper_top_mirror.pdf
  70. BIN
      Circuits/PDF/SensorsPCB_etch_mask_bottom.pdf
  71. BIN
      Circuits/PDF/SensorsPCB_etch_mask_bottom_mirror.pdf
  72. BIN
      Circuits/PDF/SensorsPCB_etch_mask_top.pdf
  73. BIN
      Circuits/PDF/SensorsPCB_etch_mask_top_mirror.pdf
  74. BIN
      Circuits/PDF/SensorsPCB_etch_paste_mask_bottom.pdf
  75. BIN
      Circuits/PDF/SensorsPCB_etch_paste_mask_bottom_mirror.pdf
  76. BIN
      Circuits/PDF/SensorsPCB_etch_paste_mask_top.pdf
  77. BIN
      Circuits/PDF/SensorsPCB_etch_paste_mask_top_mirror.pdf
  78. BIN
      Circuits/PDF/SensorsPCB_etch_silk_bottom.pdf
  79. BIN
      Circuits/PDF/SensorsPCB_etch_silk_bottom_mirror.pdf
  80. BIN
      Circuits/PDF/SensorsPCB_etch_silk_top.pdf
  81. BIN
      Circuits/PDF/SensorsPCB_etch_silk_top_mirror.pdf
  82. BIN
      Circuits/Sensors.fzz
  83. BIN
      Circuits/SensorsPCB.fzz
  84. BIN
      Circuits/Sensors_schem.pdf
  85. 42
      Circuits/logo.svg
  86. 56
      TEST/windAll/windAll.ino
  87. 45
      TEST/windDir/windDir.ino
  88. 46
      TEST/windSpeed/windSpeed.ino
  89. 3
      Web/AUTH
  90. 16
      Web/weather/.browserslistrc
  91. 16
      Web/weather/.editorconfig
  92. 42
      Web/weather/.gitignore
  93. 27
      Web/weather/README.md
  94. 119
      Web/weather/angular.json
  95. 1
      Web/weather/deploy.sh
  96. 44
      Web/weather/karma.conf.js
  97. 41
      Web/weather/package.json
  98. 9
      Web/weather/proxy.conf.json
  99. 9
      Web/weather/proxy.conf.prod.json
  100. 3
      Web/weather/src/api/.htaccess

BIN
3D/Anemometer/Base.FCStd

Binary file not shown.

BIN
3D/Anemometer/Base.stl

Binary file not shown.

BIN
3D/Anemometer/Cup.FCStd

Binary file not shown.

BIN
3D/Anemometer/Cup.stl

Binary file not shown.

BIN
3D/Anemometer/Pivot.FCStd

Binary file not shown.

BIN
3D/Anemometer/Pivot.stl

Binary file not shown.

BIN
3D/Anemometer/V3/Base.FCStd

Binary file not shown.

BIN
3D/Anemometer/V3/Base.stl

Binary file not shown.

BIN
3D/Anemometer/V3/Cup.FCStd

Binary file not shown.

BIN
3D/Anemometer/V3/Cup.FCStd1

Binary file not shown.

BIN
3D/Anemometer/V3/Cup.stl

Binary file not shown.

BIN
3D/Anemometer/V3/Pivot.FCStd

Binary file not shown.

BIN
3D/Anemometer/V3/Pivot.FCStd1

Binary file not shown.

BIN
3D/Anemometer/V3/Pivot.stl

Binary file not shown.

BIN
3D/WindDirection/Arrow.FCStd

Binary file not shown.

BIN
3D/WindDirection/Arrow.stl

Binary file not shown.

BIN
3D/WindDirection/Base.FCStd

Binary file not shown.

BIN
3D/WindDirection/Base.stl

Binary file not shown.

BIN
3D/WindDirection/Pivot.FCStd

Binary file not shown.

BIN
3D/WindDirection/Pivot.stl

Binary file not shown.

BIN
3D/WindDirection/V3/Arrow.FCStd

Binary file not shown.

BIN
3D/WindDirection/V3/Arrow.stl

Binary file not shown.

BIN
3D/WindDirection/V3/Base.FCStd

Binary file not shown.

BIN
3D/WindDirection/V3/Base.stl

Binary file not shown.

BIN
3D/WindDirection/V3/Pivot.FCStd

Binary file not shown.

BIN
3D/WindDirection/V3/Pivot.stl

Binary file not shown.

95
Arduino/Arduino.ino

@ -1,95 +0,0 @@
#include <SoftwareSerial.h>
#include "SIM800L.h"
#define SIM800_RX_PIN 10
#define SIM800_TX_PIN 11
#define SIM800_RST_PIN 7
SIM800L* sim800l;
const char APN[] = "TM";
String BASE_URL = "http://2.238.194.8/index.php?";
//String BASE_URL = "https://postman-echo.com/get?";
String s = "";
char URL[100];
int anemometerPin = 6;
int anemometerVal = 0;
int anemometerState = 0;
unsigned long anemometerDuration = 0;
unsigned long startime = 0;
unsigned long timer = 0;
int windSpeed = 0;
int northPin = 4;
int eastPin = 5;
int southPin = 2;
int westPin = 3;
int timerLimit = 3000;//300000; // 5 minutes
bool printSensorsData = true;
String windDirection = "";
void setup() {
// Initialize Serial Monitor for debugging
Serial.begin(115200);
while(!Serial);
// Initialize a SoftwareSerial
SoftwareSerial* serial = new SoftwareSerial(SIM800_RX_PIN, SIM800_TX_PIN);
serial->begin(9600);
delay(1000);
// Initialize SIM800L driver with an internal buffer of 200 bytes and a reception buffer of 512 bytes, debug disabled
sim800l = new SIM800L((Stream *)serial, SIM800_RST_PIN, 200, 512);
// Setup module for GPRS communication
setupModule();
}
void loop() {
windDirection = "";
anemometerVal = digitalRead(anemometerPin);
if ((anemometerState == 1) && (anemometerVal == 0)) {
anemometerDuration = millis() - startime;
startime = millis();
windSpeed = 2500.0/anemometerDuration;
}
anemometerState = anemometerVal;
if(millis() >= timer) {
Serial.println("--------------------------");
Serial.println("Sending...");
timer = millis() + timerLimit;
if(digitalRead(northPin)) {windDirection = windDirection + "N";}
if(digitalRead(southPin)) {windDirection = windDirection + "S";}
if(digitalRead(eastPin)) {windDirection = windDirection + "E";}
if(digitalRead(westPin)) {windDirection = windDirection + "W";}
if(printSensorsData) {
Serial.print("Wind speed:\t");
Serial.print(windSpeed);
Serial.println("Km/h");
Serial.print("Wind direction:\t");
Serial.println(windDirection);
}
sendRequest();
}
}

43
Arduino/GetData.ino

@ -1,43 +0,0 @@
void getWind() {
windDirection = "";
anemometerVal = digitalRead(anemometerPin);
//Serial.println(anemometerVal);
if ((anemometerState == 1) && (anemometerVal == 0)) {
anemometerDuration = millis() - startime;
startime = millis();
windSpeed = 2500.0/anemometerDuration;
}
anemometerState = anemometerVal;
if(millis() >= timer) {
Serial.println("--------------------------");
timer = millis() + timerLimit;
if(digitalRead(northPin)) {windDirection = windDirection + "N";}
if(digitalRead(southPin)) {windDirection = windDirection + "S";}
if(digitalRead(eastPin)) {windDirection = windDirection + "E";}
if(digitalRead(westPin)) {windDirection = windDirection + "W";}
if(printSensorsData) {
Serial.print("Wind speed:\t");
Serial.print(windSpeed);
Serial.println("Km/h");
Serial.print("Wind direction:\t");
Serial.println(windDirection);
}
sendRequest();
//delay(5000);
}
}

14
Arduino/Sensors/GetSensor.ino

@ -0,0 +1,14 @@
void getBME280Data() {
float temp(NAN), hum(NAN), pres(NAN);
BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
BME280::PresUnit presUnit(BME280::PresUnit_Pa);
bme.read(pres, temp, hum, tempUnit, presUnit);
temperature = temp;
humidity = hum;
pressure = pres;
}

35
Arduino/Sensors/GetWind.ino

@ -0,0 +1,35 @@
void getWind() {
int index = 0;
digitalWrite(ENABLE_PIN1, HIGH);
digitalWrite(ENABLE_PIN2, LOW);
delay(10);
if(sensor.write(codes, sizeof(codes)) == 8) {
digitalWrite(ENABLE_PIN1, LOW);
for (byte i = 0; i < 11; i++) {
values[index][i] = sensor.read();
}
}
windSpeed = values[index][4];
delay(500);
index = 1;
digitalWrite(ENABLE_PIN1, LOW);
digitalWrite(ENABLE_PIN2, HIGH);
delay(10);
if(sensor.write(codes, sizeof(codes)) == 8) {
digitalWrite(ENABLE_PIN2, LOW);
for (byte i = 0; i < 11; i++) {
values[index][i] = sensor.read();
}
}
windDirection = values[index][4];
digitalWrite(ENABLE_PIN1, LOW);
digitalWrite(ENABLE_PIN2, LOW);
}

30
Arduino/Sensors/SendData.ino

@ -0,0 +1,30 @@
void sendData() {
if((WiFiMulti.run() == WL_CONNECTED)) {
WiFiClient client;
HTTPClient http;
char apiString[100] = "";
sprintf_P(apiString, server, windDirection, windSpeed, temperature, humidity, pressure);
Serial.print("[HTTP] begin...\n");
if (http.begin(client, apiString)) {
Serial.print("[HTTP] GET...\n");
int httpCode = http.GET();
if (httpCode > 0) {
Serial.printf("[HTTP] GET... code: %d\n", httpCode);
if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
String payload = http.getString();
Serial.println(payload);
}
} else {
Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
} else {
Serial.printf("[HTTP} Unable to connect\n");
}
}
}

82
Arduino/Sensors/Sensors.ino

@ -0,0 +1,82 @@
#include <SoftwareSerial.h>
#include <Wire.h>
#include <BME280I2C.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClient.h>
#define ENABLE_PIN1 D5 // 8 // dir
#define ENABLE_PIN2 D6 // 9 // speed
#define SERIAL_RO D7 // 10
#define SERIAL_DI D8 // 11
#define WIFIUSR "NETGEAR41"
#define WIFIPWD "magicalbanana0"
ESP8266WiFiMulti WiFiMulti;
BME280I2C bme;
const byte codes[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B};
const char server[] PROGMEM = "http://2.233.91.82/weather/api/station?data=capaccio|%d|%d|%f|%f|%f";
byte values[2][20];
SoftwareSerial sensor(SERIAL_RO, SERIAL_DI);
int windSpeed = 0;
int windDirection = 0;
float temperature = 0;
float humidity = 0;
float pressure = 0;
void setup() {
// Initialize Serial Monitor for debugging
Serial.begin(9600);
while(!Serial);
// Initialize a Wire
Wire.begin();
while(!bme.begin()){
Serial.println("Could not find BME280 sensor!");
delay(1000);
}
// Initialize a SoftwareSerial
sensor.begin(4800);
delay(500);
pinMode(ENABLE_PIN1, OUTPUT);
pinMode(ENABLE_PIN2, OUTPUT);
// Initialize WiFi
for (uint8_t t = 4; t > 0; t--) {
Serial.printf("[SETUP] WAIT %d...\n", t);
Serial.flush();
delay(1000);
}
WiFi.mode(WIFI_STA);
WiFiMulti.addAP(WIFIUSR, WIFIPWD);
}
void loop() {
getWind();
Serial.print("Direction: ");
Serial.println(windDirection);
Serial.print("Speed: ");
Serial.println(windSpeed);
getBME280Data();
Serial.print("Temp: ");
Serial.println(temperature);
Serial.print("Hum: ");
Serial.println(humidity);
Serial.print("Pres: ");
Serial.println(pressure);
sendData();
delay(10000);
}

20
Arduino/Sensors/Setup.ino

@ -0,0 +1,20 @@
void setupBME280() {
Wire.begin();
while(!bme.begin()) {
Serial.println("Could not find BME280 sensor!");
delay(1000);
}
switch(bme.chipModel()) {
case BME280::ChipModel_BME280:
Serial.println("Found BME280 sensor! Success.");
break;
case BME280::ChipModel_BMP280:
Serial.println("Found BMP280 sensor! No Humidity available.");
break;
default:
Serial.println("Found UNKNOWN sensor! Error!");
}
}

14
Arduino/Transmission/GetSensor.ino

@ -0,0 +1,14 @@
void getBME280Data() {
float temp(NAN), hum(NAN), pres(NAN);
BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
BME280::PresUnit presUnit(BME280::PresUnit_Pa);
bme.read(pres, temp, hum, tempUnit, presUnit);
temperature = temp;
humidity = hum;
pressure = pres;
}

7
Arduino/Transmission/GetWid.ino

@ -0,0 +1,7 @@
void getWind() {
windDirection = 0;
windSpeed = 0;
}

16
Arduino/Request.ino → Arduino/Transmission/Request.ino

@ -1,11 +1,19 @@
void sendRequest() {
getBME280Data();
s = BASE_URL;
s.concat("windSpeed=");
s.concat("windS=");
s.concat(windSpeed);
s.concat("&windDirection=");
s.concat("&windD=");
s.concat(windDirection);
s.concat("&temp=");
s.concat(temperature);
s.concat("&pres=");
s.concat(pressure);
s.concat("&hum=");
s.concat(humidity);
s.toCharArray(URL, 100);
Serial.println(URL);
@ -24,7 +32,7 @@ void sendRequest() {
Serial.println(F("GPRS not connected !"));
Serial.println(F("Reset the module."));
sim800l->reset();
setupModule();
setupSIM800L();
return;
}
@ -67,6 +75,6 @@ void sendRequest() {
Serial.println(F("Failed to switch module to low power mode"));
}
timer = millis() + timerLimit;
windSpeed = 0;
}

25
Arduino/Setup.ino → Arduino/Transmission/Setup.ino

@ -1,6 +1,6 @@
void setupModule() {
// Wait until the module is ready to accept AT commands
void setupSIM800L() {
// Wait until the module is ready to accept AT commands
while(!sim800l->isReady()) {
Serial.println(F("Problem to initialize AT command, retry in 1 sec"));
delay(1000);
@ -35,3 +35,24 @@ void setupModule() {
}
Serial.println(F("GPRS config OK"));
}
void setupBME280() {
Wire.begin();
while(!bme.begin()) {
Serial.println("Could not find BME280 sensor!");
delay(1000);
}
switch(bme.chipModel()) {
case BME280::ChipModel_BME280:
Serial.println("Found BME280 sensor! Success.");
break;
case BME280::ChipModel_BMP280:
Serial.println("Found BMP280 sensor! No Humidity available.");
break;
default:
Serial.println("Found UNKNOWN sensor! Error!");
}
}

56
Arduino/Transmission/Transmission.ino

@ -0,0 +1,56 @@
#include <SoftwareSerial.h>
#include <Wire.h>
#include "SIM800L.h"
#include <BME280I2C.h>
#define SIM800_RX_PIN 10
#define SIM800_TX_PIN 11
#define SIM800_RST_PIN 7
SIM800L* sim800l;
BME280I2C bme;
const char APN[] = "TM";
String BASE_URL = "http://2.238.194.8/index.php?";
//String BASE_URL = "https://postman-echo.com/get?";
String s = "";
char URL[100];
int windSpeed = 0;
int windDirection = 0;
float temperature = 0;
float humidity = 0;
float pressure = 0;
bool printSensorsData = true;
void setup() {
// Initialize Serial Monitor for debugging
Serial.begin(9600);
while(!Serial);
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
// Initialize a SoftwareSerial
SoftwareSerial* serial = new SoftwareSerial(SIM800_RX_PIN, SIM800_TX_PIN);
serial->begin(9600);
delay(1000);
// Initialize SIM800L driver with an internal buffer of 200 bytes and a reception buffer of 512 bytes, debug disabled
sim800l = new SIM800L((Stream *)serial, SIM800_RST_PIN, 200, 512);
// Setup modules
setupSIM800L();
setupBME280();
timer = millis() + timerLimit;
}
void loop() {
getWind();
}

BIN
Arduino/libraries/Arduino-SIM800L-driver-master.zip

Binary file not shown.

BIN
Arduino/libraries/BME280-master.zip

Binary file not shown.

26
Circuits/GRB/SensorsPCB_contour.gm1

@ -0,0 +1,26 @@
G04 MADE WITH FRITZING*
G04 WWW.FRITZING.ORG*
G04 DOUBLE SIDED*
G04 HOLES PLATED*
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
%ASAXBY*%
%FSLAX23Y23*%
%MOIN*%
%OFA0B0*%
%SFA1.0B1.0*%
%ADD10R,3.333330X2.222220*%
%ADD11C,0.008000*%
%ADD10C,0.008*%
%LNCONTOUR*%
G90*
G70*
G54D10*
G54D11*
X4Y2218D02*
X3329Y2218D01*
X3329Y4D01*
X4Y4D01*
X4Y2218D01*
D02*
G04 End of contour*
M02*

390
Circuits/GRB/SensorsPCB_copperBottom.gbl

@ -0,0 +1,390 @@
G04 MADE WITH FRITZING*
G04 WWW.FRITZING.ORG*
G04 DOUBLE SIDED*
G04 HOLES PLATED*
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
%ASAXBY*%
%FSLAX23Y23*%
%MOIN*%
%OFA0B0*%
%SFA1.0B1.0*%
%ADD10C,0.080000*%
%ADD11C,0.065278*%
%ADD12C,0.078000*%
%ADD13C,0.075000*%
%ADD14R,0.080000X0.080000*%
%ADD15R,0.075000X0.075000*%
%ADD16C,0.090000*%
%ADD17C,0.048000*%
%ADD18C,0.070000*%
%LNCOPPER0*%
G90*
G70*
G54D10*
X287Y2006D03*
X287Y1806D03*
X287Y1606D03*
X287Y1406D03*
X287Y1206D03*
X287Y1006D03*
X287Y806D03*
X287Y606D03*
X287Y406D03*
X287Y206D03*
X3043Y914D03*
X3043Y1114D03*
X3043Y1314D03*
X3043Y714D03*
G54D11*
X2628Y152D03*
X2728Y152D03*
X2828Y152D03*
X2928Y152D03*
X3028Y152D03*
X2168Y2052D03*
X2068Y2052D03*
X1968Y2052D03*
X1868Y2052D03*
X1768Y2052D03*
X1668Y2052D03*
X1568Y2052D03*
X1468Y2052D03*
X1368Y2052D03*
X1268Y2052D03*
X3028Y2052D03*
X2928Y2052D03*
X2828Y2052D03*
X2728Y2052D03*
X2628Y2052D03*
X2528Y2052D03*
X2428Y2052D03*
X2328Y2052D03*
X1728Y152D03*
X1628Y152D03*
X1828Y152D03*
X1928Y152D03*
X2028Y152D03*
X2128Y152D03*
X2228Y152D03*
X2328Y152D03*
X2528Y152D03*
G54D12*
X926Y1757D03*
X926Y1657D03*
X926Y1557D03*
X926Y1457D03*
X951Y772D03*
X951Y672D03*
X951Y572D03*
X951Y472D03*
X2550Y772D03*
X2550Y672D03*
X2550Y572D03*
X2550Y472D03*
X2525Y1757D03*
X2525Y1657D03*
X2525Y1557D03*
X2525Y1457D03*
X1271Y625D03*
X1271Y280D03*
X1566Y1707D03*
X1566Y1412D03*
X2403Y871D03*
X2304Y428D03*
X2403Y1363D03*
X730Y428D03*
X730Y821D03*
X730Y1412D03*
X730Y1806D03*
X1123Y625D03*
X1714Y1560D03*
X2206Y1363D03*
X2304Y1363D03*
G54D13*
X1566Y964D03*
X1566Y1264D03*
X1666Y964D03*
X1666Y1264D03*
X1766Y964D03*
X1766Y1264D03*
X1866Y964D03*
X1866Y1264D03*
X1966Y964D03*
X1966Y1264D03*
G54D14*
X287Y2006D03*
X3043Y714D03*
G54D15*
X1566Y964D03*
G54D10*
X2846Y329D02*
X2910Y190D01*
D02*
X2846Y1312D02*
X2846Y329D01*
D02*
X3000Y1313D02*
X2846Y1312D01*
D02*
X335Y674D02*
X910Y672D01*
D02*
X311Y640D02*
X335Y674D01*
G54D16*
D02*
X2206Y279D02*
X1862Y624D01*
D02*
X1322Y626D02*
X1320Y773D01*
D02*
X1862Y624D02*
X1322Y626D01*
D02*
X2206Y182D02*
X2206Y279D01*
D02*
X1322Y1462D02*
X1074Y1759D01*
D02*
X2203Y186D02*
X2206Y182D01*
D02*
X1320Y773D02*
X1322Y1462D01*
D02*
X1074Y1759D02*
X968Y1757D01*
D02*
X1320Y773D02*
X993Y772D01*
G54D17*
D02*
X1366Y535D02*
X1271Y478D01*
D02*
X1271Y478D02*
X1122Y478D01*
D02*
X1766Y527D02*
X1366Y535D01*
D02*
X2009Y182D02*
X2010Y279D01*
D02*
X1024Y478D02*
X993Y476D01*
D02*
X1122Y478D02*
X1024Y478D01*
D02*
X2010Y279D02*
X1766Y527D01*
D02*
X2005Y188D02*
X2009Y182D01*
D02*
X1122Y478D02*
X1123Y583D01*
G54D18*
D02*
X910Y573D02*
X729Y577D01*
D02*
X729Y577D02*
X729Y469D01*
G54D16*
D02*
X335Y823D02*
X326Y820D01*
D02*
X688Y822D02*
X335Y823D01*
G54D10*
D02*
X688Y1411D02*
X329Y1406D01*
G54D18*
D02*
X731Y1657D02*
X730Y1765D01*
D02*
X885Y1657D02*
X731Y1657D01*
G54D10*
D02*
X336Y1560D02*
X318Y1577D01*
D02*
X885Y1557D02*
X336Y1560D01*
G54D16*
D02*
X975Y1068D02*
X778Y1214D01*
D02*
X975Y822D02*
X975Y1068D01*
D02*
X969Y810D02*
X975Y822D01*
D02*
X778Y1214D02*
X329Y1206D01*
G54D17*
D02*
X2525Y1598D02*
X2525Y1615D01*
D02*
X2550Y614D02*
X2550Y631D01*
D02*
X1959Y722D02*
X2108Y577D01*
D02*
X1663Y723D02*
X1959Y722D01*
D02*
X2403Y577D02*
X2517Y496D01*
D02*
X2108Y577D02*
X2403Y577D01*
D02*
X1666Y925D02*
X1663Y723D01*
D02*
X2305Y1659D02*
X2305Y1904D01*
D02*
X2305Y1904D02*
X2197Y2021D01*
D02*
X2304Y1404D02*
X2305Y1659D01*
D02*
X1961Y1167D02*
X1664Y1165D01*
D02*
X1960Y1117D02*
X1961Y1167D01*
D02*
X1664Y1165D02*
X1665Y1225D01*
D02*
X2550Y1116D02*
X1960Y1117D01*
D02*
X2550Y814D02*
X2550Y1116D01*
D02*
X2206Y1904D02*
X2206Y1659D01*
D02*
X2206Y1659D02*
X2206Y1404D01*
D02*
X2097Y2021D02*
X2206Y1904D01*
D02*
X1862Y1067D02*
X1864Y1004D01*
D02*
X1469Y1560D02*
X1469Y1067D01*
D02*
X1469Y1067D02*
X1862Y1067D01*
D02*
X1673Y1560D02*
X1469Y1560D01*
D02*
X2402Y1019D02*
X1960Y1019D01*
D02*
X1960Y1019D02*
X1962Y1004D01*
D02*
X2403Y912D02*
X2402Y1019D01*
D02*
X2353Y2018D02*
X2402Y1953D01*
D02*
X2402Y1659D02*
X2403Y1404D01*
D02*
X2402Y1953D02*
X2402Y1659D01*
D02*
X2402Y1659D02*
X2484Y1657D01*
D02*
X2107Y1708D02*
X2107Y1904D01*
D02*
X2107Y1904D02*
X1997Y2021D01*
D02*
X1607Y1707D02*
X2107Y1708D01*
D02*
X1764Y1413D02*
X1607Y1412D01*
D02*
X1766Y1304D02*
X1764Y1413D01*
D02*
X1960Y1461D02*
X1862Y1461D01*
D02*
X2157Y1216D02*
X1960Y1461D01*
D02*
X1862Y1461D02*
X1865Y1304D01*
D02*
X2699Y1756D02*
X2699Y1213D01*
D02*
X2699Y1213D02*
X2157Y1216D01*
D02*
X2567Y1756D02*
X2699Y1756D01*
G54D16*
D02*
X928Y2002D02*
X336Y2003D01*
D02*
X927Y1798D02*
X928Y2002D01*
D02*
X1322Y626D02*
X1312Y625D01*
D02*
X532Y282D02*
X1207Y280D01*
D02*
X532Y428D02*
X532Y282D01*
D02*
X335Y428D02*
X532Y428D01*
D02*
X325Y424D02*
X335Y428D01*
G54D17*
D02*
X2304Y182D02*
X2304Y387D01*
D02*
X2302Y185D02*
X2304Y182D01*
G54D16*
D02*
X336Y2003D02*
X329Y2004D01*
G04 End of Copper0*
M02*

273
Circuits/GRB/SensorsPCB_copperTop.gtl

@ -0,0 +1,273 @@
G04 MADE WITH FRITZING*
G04 WWW.FRITZING.ORG*
G04 DOUBLE SIDED*
G04 HOLES PLATED*
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
%ASAXBY*%
%FSLAX23Y23*%
%MOIN*%
%OFA0B0*%
%SFA1.0B1.0*%
%ADD10C,0.080000*%
%ADD11C,0.065278*%
%ADD12C,0.078000*%
%ADD13C,0.075000*%
%ADD14R,0.080000X0.080000*%
%ADD15R,0.075000X0.075000*%
%ADD16C,0.070000*%
%ADD17C,0.090000*%
%ADD18C,0.048000*%
%LNCOPPER1*%
G90*
G70*
G54D10*
X287Y2006D03*
X287Y1806D03*
X287Y1606D03*
X287Y1406D03*
X287Y1206D03*
X287Y1006D03*
X287Y806D03*
X287Y606D03*
X287Y406D03*
X287Y206D03*
X3043Y914D03*
X3043Y1114D03*
X3043Y1314D03*
X3043Y714D03*
G54D11*
X2628Y152D03*
X2728Y152D03*
X2828Y152D03*
X2928Y152D03*
X3028Y152D03*
X2168Y2052D03*
X2068Y2052D03*
X1968Y2052D03*
X1868Y2052D03*
X1768Y2052D03*
X1668Y2052D03*
X1568Y2052D03*
X1468Y2052D03*
X1368Y2052D03*
X1268Y2052D03*
X3028Y2052D03*
X2928Y2052D03*
X2828Y2052D03*
X2728Y2052D03*
X2628Y2052D03*
X2528Y2052D03*
X2428Y2052D03*
X2328Y2052D03*
X1728Y152D03*
X1628Y152D03*
X1828Y152D03*
X1928Y152D03*
X2028Y152D03*
X2128Y152D03*
X2228Y152D03*
X2328Y152D03*
X2528Y152D03*
G54D12*
X926Y1757D03*
X926Y1657D03*
X926Y1557D03*
X926Y1457D03*
X951Y772D03*
X951Y672D03*
X951Y572D03*
X951Y472D03*
X2550Y772D03*
X2550Y672D03*
X2550Y572D03*
X2550Y472D03*
X2525Y1757D03*
X2525Y1657D03*
X2525Y1557D03*
X2525Y1457D03*
X1271Y625D03*
X1271Y280D03*
X1566Y1707D03*
X1566Y1412D03*
X2403Y871D03*
X2304Y428D03*
X2403Y1363D03*
X730Y428D03*
X730Y821D03*
X730Y1412D03*
X730Y1806D03*
X1123Y625D03*
X1714Y1560D03*
X2206Y1363D03*
X2304Y1363D03*
G54D13*
X1566Y964D03*
X1566Y1264D03*
X1666Y964D03*
X1666Y1264D03*
X1766Y964D03*
X1766Y1264D03*
X1866Y964D03*
X1866Y1264D03*
X1966Y964D03*
X1966Y1264D03*
G54D14*
X287Y2006D03*
X3043Y714D03*
G54D15*
X1566Y964D03*
G54D16*
X1911Y181D02*
X1907Y189D01*
G54D10*
D02*
X2796Y920D02*
X3000Y915D01*
D02*
X2796Y1902D02*
X2796Y920D01*
D02*
X1565Y1904D02*
X2796Y1902D01*
D02*
X1567Y2009D02*
X1565Y1904D01*
G54D16*
D02*
X2699Y722D02*
X2699Y327D01*
D02*
X2404Y279D02*
X1911Y279D01*
D02*
X1911Y279D02*
X1911Y181D01*
D02*
X2451Y327D02*
X2404Y279D01*
D02*
X2699Y327D02*
X2451Y327D01*
D02*
X3000Y715D02*
X2699Y722D01*
G54D10*
D02*
X3190Y1118D02*
X3085Y1115D01*
D02*
X3190Y327D02*
X3190Y1118D01*
D02*
X3057Y183D02*
X3190Y327D01*
G54D17*
D02*
X1416Y135D02*
X1418Y428D01*
D02*
X1418Y428D02*
X2241Y428D01*
D02*
X580Y135D02*
X1416Y135D01*
D02*
X485Y183D02*
X580Y135D01*
D02*
X335Y183D02*
X330Y185D01*
D02*
X485Y183D02*
X335Y183D01*
D02*
X485Y1020D02*
X485Y183D01*
D02*
X485Y1020D02*
X483Y1806D01*
D02*
X483Y1806D02*
X334Y1806D01*
D02*
X335Y1020D02*
X485Y1020D01*
D02*
X332Y1020D02*
X335Y1020D01*
G54D18*
D02*
X1762Y820D02*
X2206Y820D01*
D02*
X2206Y820D02*
X2206Y1322D01*
D02*
X1765Y925D02*
X1762Y820D01*
D02*
X2303Y674D02*
X2304Y1322D01*
D02*
X2303Y674D02*
X1518Y674D01*
D02*
X1518Y921D02*
X1537Y938D01*
D02*
X1518Y674D02*
X1518Y921D01*
D02*
X2509Y673D02*
X2303Y674D01*
G54D16*
D02*
X1123Y1216D02*
X1123Y666D01*
D02*
X952Y1425D02*
X1123Y1216D01*
G54D18*
D02*
X2352Y1559D02*
X1755Y1560D01*
D02*
X2490Y1478D02*
X2352Y1559D01*
G54D16*
D02*
X730Y469D02*
X730Y780D01*
D02*
X730Y1453D02*
X730Y1765D01*
G54D18*
D02*
X1271Y321D02*
X1271Y583D01*
D02*
X1566Y1453D02*
X1566Y1666D01*
D02*
X2403Y912D02*
X2403Y1322D01*
D02*
X1567Y1116D02*
X1960Y1116D01*
D02*
X1960Y1116D02*
X1965Y1004D01*
D02*
X1566Y1225D02*
X1567Y1116D01*
D02*
X2304Y1461D02*
X1960Y1461D01*
D02*
X1960Y1461D02*
X1965Y1293D01*
D02*
X2304Y1393D02*
X2304Y1461D01*
G04 End of Copper1*
M02*

102
Circuits/GRB/SensorsPCB_drill.txt

@ -0,0 +1,102 @@
; NON-PLATED HOLES START AT T1
; THROUGH (PLATED) HOLES START AT T100
M48
INCH
T100C0.040000
T101C0.038000
T102C0.035000
T103C0.040278
%
T100
X002866Y004057
X002866Y016057
X030425Y011136
X002866Y020057
X002866Y008057
X002866Y006057
X002866Y014057
X030425Y009136
X002866Y010057
X030425Y007136
X002866Y018057
X002866Y002057
X030425Y013136
X002866Y012057
T101
X007295Y014120
X025504Y004722
X025253Y015565
X025253Y016565
X025504Y006722
X025504Y005722
X023043Y004277
X009514Y007722
X022059Y013628
X012708Y002801
X023043Y013628
X025253Y017565
X025504Y007722
X009514Y006722
X011232Y006246
X025253Y014565
X009263Y017565
X009263Y016565
X009263Y014565
X009263Y015565
X012708Y006246
X017137Y015596
X007295Y018057
X007295Y008214
X015661Y014120
X024027Y013628
X009514Y005722
X007295Y004277
X024027Y008707
X009514Y004722
X015661Y017073
T102
X019661Y009644
X016661Y009644
X015661Y012644
X017661Y009644
X019661Y012644
X018661Y012644
X017661Y012644
X015661Y009644
X018661Y009644
X016661Y012644
T103
X016677Y020518
X023277Y001518
X016277Y001518
X024277Y020518
X013677Y020518
X021277Y001518
X030277Y001518
X029277Y001518
X029277Y020518
X023277Y020518
X015677Y020518
X025277Y020518
X014677Y020518
X020277Y001518
X012677Y020518
X017277Y001518
X030277Y020518
X018277Y001518
X028277Y001518
X022277Y001518
X026277Y001518
X019277Y001518
X026277Y020518
X021677Y020518
X017677Y020518
X027277Y020518
X028277Y020518
X019677Y020518
X027277Y001518
X025277Y001518
X020677Y020518
X018677Y020518
T00
M30

117
Circuits/GRB/SensorsPCB_maskBottom.gbs

@ -0,0 +1,117 @@
G04 MADE WITH FRITZING*
G04 WWW.FRITZING.ORG*
G04 DOUBLE SIDED*
G04 HOLES PLATED*
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
%ASAXBY*%
%FSLAX23Y23*%
%MOIN*%
%OFA0B0*%
%SFA1.0B1.0*%
%ADD10C,0.090000*%
%ADD11C,0.075278*%
%ADD12C,0.088000*%
%ADD13C,0.085000*%
%ADD14R,0.090000X0.090000*%
%ADD15R,0.085000X0.085000*%
%LNMASK0*%
G90*
G70*
G54D10*
X287Y2006D03*
X287Y1806D03*
X287Y1606D03*
X287Y1406D03*
X287Y1206D03*
X287Y1006D03*
X287Y806D03*
X287Y606D03*
X287Y406D03*
X287Y206D03*
X3043Y914D03*
X3043Y1114D03*
X3043Y1314D03*
X3043Y714D03*
G54D11*
X2628Y152D03*
X2728Y152D03*
X2828Y152D03*
X2928Y152D03*
X3028Y152D03*
X2168Y2052D03*
X2068Y2052D03*
X1968Y2052D03*
X1868Y2052D03*
X1768Y2052D03*
X1668Y2052D03*
X1568Y2052D03*
X1468Y2052D03*
X1368Y2052D03*
X1268Y2052D03*
X3028Y2052D03*
X2928Y2052D03*
X2828Y2052D03*
X2728Y2052D03*
X2628Y2052D03*
X2528Y2052D03*
X2428Y2052D03*
X2328Y2052D03*
X1728Y152D03*
X1628Y152D03*
X1828Y152D03*
X1928Y152D03*
X2028Y152D03*
X2128Y152D03*
X2228Y152D03*
X2328Y152D03*
X2528Y152D03*
G54D12*
X926Y1757D03*
X926Y1657D03*
X926Y1557D03*
X926Y1457D03*
X951Y772D03*
X951Y672D03*
X951Y572D03*
X951Y472D03*
X2550Y772D03*
X2550Y672D03*
X2550Y572D03*
X2550Y472D03*
X2525Y1757D03*
X2525Y1657D03*
X2525Y1557D03*
X2525Y1457D03*
X1271Y625D03*
X1271Y280D03*
X1566Y1707D03*
X1566Y1412D03*
X2403Y871D03*
X2304Y428D03*
X2403Y1363D03*
X730Y428D03*
X730Y821D03*
X730Y1412D03*
X730Y1806D03*
X1123Y625D03*
X1714Y1560D03*
X2206Y1363D03*
X2304Y1363D03*
G54D13*
X1566Y964D03*
X1566Y1264D03*
X1666Y964D03*
X1666Y1264D03*
X1766Y964D03*
X1766Y1264D03*
X1866Y964D03*
X1866Y1264D03*
X1966Y964D03*
X1966Y1264D03*
G54D14*
X287Y2006D03*
X3043Y714D03*
G54D15*
X1566Y964D03*
G04 End of Mask0*
M02*

117
Circuits/GRB/SensorsPCB_maskTop.gts

@ -0,0 +1,117 @@
G04 MADE WITH FRITZING*
G04 WWW.FRITZING.ORG*
G04 DOUBLE SIDED*
G04 HOLES PLATED*
G04 CONTOUR ON CENTER OF CONTOUR VECTOR*
%ASAXBY*%
%FSLAX23Y23*%
%MOIN*%
%OFA0B0*%
%SFA1.0B1.0*%
%ADD10C,0.090000*%
%ADD11C,0.075278*%
%ADD12C,0.088000*%
%ADD13C,0.085000*%
%ADD14R,0.090000X0.090000*%
%ADD15R,0.085000X0.085000*%
%LNMASK1*%
G90*
G70*
G54D10*
X287Y2006D03*
X287Y1806D03*
X287Y1606D03*
X287Y1406D03*
X287Y1206D03*
X287Y1006D03*
X287Y806D03*
X287Y606D03*
X287Y406D03*
X287Y206D03*
X3043Y914D03*
X3043Y1114D03*
X3043Y1314D03*
X3043Y714D03*
G54D11*
X2628Y152D03*
X2728Y152D03*
X2828Y152D03*
X2928Y152D03*
X3028Y152D03*
X2168Y2052D03*
X2068Y2052D03*
X1968Y2052D03*
X1868Y2052D03*
X1768Y2052D03*
X1668Y2052D03*
X1568Y2052D03*
X1468Y2052D03*
X1368Y2052D03*
X1268Y2052D03*
X3028Y2052D03*
X2928Y2052D03*
X2828Y2052D03*
X2728Y2052D03*
X2628Y2052D03*
X2528Y2052D03*
X2428Y2052D03*
X2328Y2052D03*
X1728Y152D03*
X1628Y152D03*
X1828Y152D03*
X1928Y152D03*
X2028Y152D03*
X2128Y152D03*
X2228Y152D03*
X2328Y152D03*
X2528Y152D03*
G54D12*
X926Y1757D03*
X926Y1657D03*
X926Y1557D03*
X926Y1457D03*
X951Y772D03*
X951Y672D03*
X951Y572D03*
X951Y472D03*
X2550Y772D03*
X2550Y672D03*
X2550Y572D03*
X2550Y472D03*
X2525Y1757D03*
X2525Y1657D03*
X2525Y1557D03*
X2525Y1457D03*
X1271Y625D03*
X1271Y280D03*
X1566Y1707D03*
X1566Y1412D03*
X2403Y871D03*
X2304Y428D03*
X2403Y1363D03*
X730Y428D03*
X730Y821D03*
X730Y1412D03*
X730Y1806D03*
X1123Y625D03*
X1714Y1560D03*
X2206Y1363D03*
X2304Y1363D03*
G54D13*
X1566Y964D03*
X1566Y1264D03*
X1666Y964D03*
X1666Y1264D03*
X1766Y964D03*
X1766Y1264D03*
X1866Y964D03*
X1866Y1264D03*
X1966Y964D03*
X1966Y1264D03*
G54D14*
X287Y2006D03*
X3043Y714D03*
G54D15*
X1566Y964D03*
G04 End of Mask1*
M02*

43
Circuits/GRB/SensorsPCB_pnp.txt

@ -0,0 +1,43 @@
*Pick And Place List
*Company=
*Author=
*eMail=
*
*Project=SensorsPCB
*Date=18:53:18
*CreatedBy=Fritzing 0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806
*
*
*Coordinates in mm, always center of component
*Origin 0/0=Lower left corner of PCB
*Rotation in degree (0-360, math. pos.)
*
*No;Value;Package;X;Y;Rotation;Side;Name
1;;THT;61.0302;-22.1159;0;Bottom;J24
2;;THT;18.5301;-45.8659;0;Bottom;J9
3;;;70.3817;-25.6133;-90;Bottom;TXT1
4;;DIP (Dual Inline) [THT];44.8603;-28.3059;-90;Bottom;IC3
5;;THT;23.5302;-40.8059;0;Bottom;J2
6;;THT;18.5301;-35.8659;0;Bottom;J10
7;;;44.6644;-28.7548;90;Bottom;IMG1
8;;;47.6632;-27.9859;0;Bottom;Componente1
9;;;14.5511;-25.9789;90;Bottom;TXT1
10;;THT;61.0302;-34.6159;0;Bottom;J23
11;;THT;39.7803;-43.3659;0;Bottom;J26
12;;THT;32.2803;-15.8658;0;Bottom;J29
13;;THT;58.5303;-34.6159;0;Bottom;J17
14;;THT;58.5303;-10.866;0;Bottom;J30
15;;THT;64.1432;-40.8059;0;Bottom;J3
16;;THT;24.1672;-15.806;0;Bottom;J4
17;;THT;73.6503;-25.7459;180;Bottom;J39
18;;THT;10.9103;-28.0859;0;Bottom;J40
19;;THT;56.0301;-34.6159;0;Bottom;J20
20;;THT;18.5301;-20.8659;0;Bottom;J11
21;;THT;43.5302;-39.6159;0;Bottom;J21
22;;THT;32.2803;-7.1159;0;Bottom;J28
23;;THT;39.7803;-35.8659;0;Bottom;J25
24;;;11.3806;-27.8831;90;Bottom;TXT1
25;;THT;64.7801;-15.806;0;Bottom;J5
26;;THT;28.5304;-15.8658;0;Bottom;J8
27;;THT;18.5301;-10.866;0;Bottom;J12
28;;;74.4035;-26.2564;-90;Bottom;TXT1

13477
Circuits/GRB/SensorsPCB_silkBottom.gbo

File diff suppressed because it is too large

32019
Circuits/GRB/SensorsPCB_silkTop.gto

File diff suppressed because it is too large

BIN
Circuits/PDF/PCB3_etch_copper_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_copper_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_copper_top.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_copper_top_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_mask_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_mask_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_mask_top.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_mask_top_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_paste_mask_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_paste_mask_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_paste_mask_top.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_paste_mask_top_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_silk_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_silk_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_silk_top.pdf

Binary file not shown.

BIN
Circuits/PDF/PCB3_etch_silk_top_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_copper_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_copper_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_copper_top.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_copper_top_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_mask_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_mask_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_mask_top.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_mask_top_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_paste_mask_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_paste_mask_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_paste_mask_top.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_paste_mask_top_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_silk_bottom.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_silk_bottom_mirror.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_silk_top.pdf

Binary file not shown.

BIN
Circuits/PDF/SensorsPCB_etch_silk_top_mirror.pdf

Binary file not shown.

BIN
Circuits/Sensors.fzz

Binary file not shown.

BIN
Circuits/SensorsPCB.fzz

Binary file not shown.

BIN
Circuits/Sensors_schem.pdf

Binary file not shown.

42
Circuits/logo.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

56
TEST/windAll/windAll.ino

@ -0,0 +1,56 @@
#include <SoftwareSerial.h>
#include <Wire.h>
const int enable[] = {0,8,9};
const byte codes[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B};
byte values[3][20];
SoftwareSerial sensor(10, 11); // RO / DI
void setup() {
Serial.begin(4800);
while(!Serial){;}
sensor.begin(4800);
delay(500);
pinMode(enable[1], OUTPUT);
pinMode(enable[2], OUTPUT);
}
void loop() {
int val1 = 0 ; // SPEED
int val2 = 0 ; // DIR
readSensor(1);
//val1 = ((values[1][5]*256)+values[1][6]);
val1 = values[1][4];
Serial.print("dir: ");
Serial.println(val1);
delay(1000);
readSensor(2);
val2 = values[2][4];
Serial.print("speed: ");
Serial.println(val2);
delay(1000);
}
byte readSensor(int index) {
digitalWrite(enable[index], HIGH);
delay(10);
if(sensor.write(codes, sizeof(codes)) == 8) {
digitalWrite(enable[index], LOW);
for (byte i = 0; i < 11; i++) {
values[index][i] = sensor.read();
Serial.print(values[index][i]);
Serial.print(" ");
}
}
Serial.println(" ");
}

45
TEST/windDir/windDir.ino

@ -0,0 +1,45 @@
#include <SoftwareSerial.h>
#include <Wire.h>
#define RE 7
#define DE 8
const byte O2[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B};
byte values[20];
SoftwareSerial mod(10, 11); // RO / DI
void setup() {
Serial.begin(4800);
mod.begin(4800);
pinMode(RE, OUTPUT);
pinMode(DE, OUTPUT);
}
void loop() {
int val1 = 0 ;
Calculate();
val1 = ((values[5]*256)+values[8]);
Serial.print("v: ");
Serial.println(val1);
delay(1000);
}
byte Calculate() {
digitalWrite(DE, HIGH);
digitalWrite(RE, HIGH);
delay(10);
if (mod.write(O2, sizeof(O2)) == 8) {
digitalWrite(DE, LOW);
digitalWrite(RE, LOW);
for (byte i = 0; i < 11; i++) {
//Serial.print(mod.read(),HEX);
values[i] = mod.read();
//Serial.print(values[i], HEX);
//Serial.print(" ");
}
Serial.println();
}
return values[6];
}

46
TEST/windSpeed/windSpeed.ino

@ -0,0 +1,46 @@
#include <SoftwareSerial.h>
#include <Wire.h>
#define RE 7
#define DE 8
const byte O2[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B};
byte values[20];
SoftwareSerial mod(10, 11); // RO / DI
void setup() {
Serial.begin(4800);
mod.begin(4800);
pinMode(RE, OUTPUT);
pinMode(DE, OUTPUT);
}
void loop() {
int val1 = 0 ;
Calculate();
//val1 = ((values[5]*256)+values[8]);
val1 = (values[4]);
Serial.print("v: ");
Serial.println(val1);
delay(1000);
}
byte Calculate() {
digitalWrite(DE, HIGH);
digitalWrite(RE, HIGH);
delay(10);
if (mod.write(O2, sizeof(O2)) == 8) {
digitalWrite(DE, LOW);
digitalWrite(RE, LOW);
for (byte i = 0; i < 11; i++) {
//Serial.print(mod.read(),HEX);
values[i] = mod.read();
//Serial.print(values[i]);
//Serial.print(" ");
}
Serial.println();
}
//return values[6];
}

3
Web/AUTH

@ -0,0 +1,3 @@
MySQL
USR dslak
PWD D5l4kMyPwd!

16
Web/weather/.browserslistrc

@ -0,0 +1,16 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR

16
Web/weather/.editorconfig

@ -0,0 +1,16 @@
# Editor configuration, see https://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.ts]
quote_type = single
[*.md]
max_line_length = off
trim_trailing_whitespace = false

42
Web/weather/.gitignore

@ -0,0 +1,42 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# Compiled output
/dist
/tmp
/out-tsc
/bazel-out
# Node
/node_modules
npm-debug.log
yarn-error.log
# IDEs and editors
.idea/
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*
# Miscellaneous
/.angular/cache
.sass-cache/
/connect.lock
/coverage
/libpeerconnection.log
testem.log
/typings
# System files
.DS_Store
Thumbs.db

27
Web/weather/README.md

@ -0,0 +1,27 @@
# Weather
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.1.
## Development server
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
## Code scaffolding
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
## Build
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
## Running unit tests
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
## Running end-to-end tests
Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
## Further help
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.

119
Web/weather/angular.json

@ -0,0 +1,119 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"weather": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/weather",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets",
"src/.htaccess",
"src/api",
"src/uploads"
],
"styles": [
"src/assets/scss/main.scss"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "8mb",
"maximumError": "10mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "80kb",
"maximumError": "100kb"
}
],
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"outputHashing": "all"
},
"development": {
"buildOptimizer": false,
"optimization": false,
"vendorChunk": true,
"extractLicenses": false,
"sourceMap": true,
"namedChunks": true
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "weather:build",
"proxyConfig": "proxy.conf.json"
},
"configurations": {
"production": {
"browserTarget": "weather:build:production",
"proxyConfig": "proxy.conf.prod.json"
},
"development": {
"browserTarget": "weather:build:development",
"proxyConfig": "proxy.conf.json"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "weather:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets",
"src/.htaccess",
"src/api",
"src/uploads"
],
"styles": [
"src/assets/scss/main.scss"
],
"scripts": []
}
}
}
}
}
}

1
Web/weather/deploy.sh

@ -0,0 +1 @@
rsync -rlvz --delete --exclude "config.php" -e "ssh -p2222" ./dist/weather/ dslak@2.233.91.82:/var/www/weather/

44
Web/weather/karma.conf.js

@ -0,0 +1,44 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
jasmine: {
// you can add configuration options for Jasmine here
// the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
// for example, you can disable the random execution with `random: false`
// or set a specific seed with `seed: 4321`
},
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
jasmineHtmlReporter: {
suppressAll: true // removes the duplicated traces
},
coverageReporter: {
dir: require('path').join(__dirname, './coverage/weather'),
subdir: '.',
reporters: [
{ type: 'html' },
{ type: 'text-summary' }
]
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
restartOnFileChange: true
});
};

41
Web/weather/package.json

@ -0,0 +1,41 @@
{
"name": "weather",
"version": "0.0.0",
"scripts": {
"dev": "export NODE_OPTIONS=--openssl-legacy-provider && ng serve",
"prod": "export NODE_OPTIONS=--openssl-legacy-provider && ng build --configuration production --base-href /weather/",
"deploy": "yarn prod && sh deploy.sh"
},
"private": true,
"dependencies": {
"@angular/animations": "^14.0.0",
"@angular/common": "^14.0.0",
"@angular/compiler": "^14.0.0",
"@angular/core": "^14.0.0",
"@angular/forms": "^14.0.0",
"@angular/platform-browser": "^14.0.0",
"@angular/platform-browser-dynamic": "^14.0.0",
"@angular/router": "^14.0.0",
"@popperjs/core": "^2.11.6",
"bootstrap": "^5.2.3",
"echarts": "^5.4.1",
"hamburgers": "^1.2.1",
"ngx-echarts": "14",
"rxjs": "~7.5.0",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^14.2.1",
"@angular/cli": "~14.2.1",
"@angular/compiler-cli": "^14.0.0",
"@types/jasmine": "~4.0.0",
"jasmine-core": "~4.3.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.0.0",
"typescript": "~4.7.2"
}
}

9
Web/weather/proxy.conf.json

@ -0,0 +1,9 @@
{
"/api/*": {
"target": "http://weatherapi.local",
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}

9
Web/weather/proxy.conf.prod.json

@ -0,0 +1,9 @@
{
"/api/*": {
"target": "http://2.233.91.82/weather/api",
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}

3
Web/weather/src/api/.htaccess

@ -0,0 +1,3 @@
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save