Compare commits

...

23 Commits

Author SHA1 Message Date
MDeghaud67
25c1819a6e MAJ diagram 2023-05-09 11:53:39 +02:00
MDeghaud67
a250d5de8f AR 2023-05-09 11:38:55 +02:00
MDeghaud67
b995e34426 insomnia test 2023-04-24 16:25:16 +02:00
MDeghaud67
a3768a51eb change url 2023-04-24 14:26:07 +02:00
MDeghaud67
cf642acfb4 update admin request 2023-04-24 12:21:22 +02:00
MDeghaud67
7da9ce40fb requêtes data terminés 2023-04-24 12:04:23 +02:00
MDeghaud67
9c96f03d5f requête trash terminé 2023-04-24 11:57:06 +02:00
MDeghaud67
bccceafeec auth with admin 2023-04-24 11:05:54 +02:00
MDeghaud67
824276bc07 auth with password 2023-04-18 17:31:21 +02:00
MDeghaud67
40065292fb requests http 2023-04-18 16:38:33 +02:00
MDeghaud67
57d2e34cb5 getOne http 2023-04-18 14:43:51 +02:00
MDeghaud67
6df08b7283 get list http 2023-04-18 14:37:20 +02:00
MDeghaud67
a38b5d057a expected 200 status 2023-04-11 12:54:20 +02:00
MDeghaud67
be7f4e5a16 expect status 200 and type object 2023-04-11 11:43:24 +02:00
MDeghaud67
d31e6927dd test users 2023-04-11 11:00:25 +02:00
MDeghaud67
ff7685cb68 indent code api 2023-04-11 10:50:37 +02:00
MDeghaud67
772cc8de9d export test api insomnia 2023-04-03 15:51:22 +02:00
5cad486150 fin du poc mantenant c'est tout droit 2023-03-27 17:18:54 +02:00
212f662882 feat: send value in https with auth user 2023-03-27 15:58:56 +02:00
be7a2829f6 add ramdom test 2023-03-20 10:23:34 +01:00
e1eebed863 l'https sa marche pour get 2023-03-14 15:17:05 +01:00
454172a5fd http client test 2023-03-13 17:21:04 +01:00
8773ef7068 1er test avec http in arduinoCC 2023-03-13 16:46:15 +01:00
23 changed files with 892 additions and 6 deletions

81
.gitignore vendored Normal file
View File

@ -0,0 +1,81 @@
.idea
# Created by https://www.toptal.com/developers/gitignore/api/unity
# Edit at https://www.toptal.com/developers/gitignore?templates=unity
### Unity ###
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Recordings can get excessive in size
/[Rr]ecordings/
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
*.app
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
# End of https://www.toptal.com/developers/gitignore/api/unity
IOT/docs/doxygen output/*

View File

@ -0,0 +1,29 @@
@startuml diagram
class users {
id: text
username: text
email: email
name: text
image: file
created: date
updated: date
}
class trashs{
id: text
value: text
author: users
created: date
updated: date
}
class data {
id: text
value: number
poubelle_id: trashs
unit: text
status: bool
created: date
updated: date
}
users "1" <-- trashs
trashs "1" <-- data
@enduml

View File

@ -0,0 +1,29 @@
@startuml diagram
class users {
id: text
username: text
email: email
name: text
image: file
created: date
updated: date
}
class trashs{
id: text
value: text
author: users
created: date
updated: date
}
class data {
id: text
value: number
trashs_id: trashs
unit: text
status: bool
created: date
updated: date
}
users "1" <-- trashs
trashs "1" <-- data
@enduml

View File

@ -0,0 +1,29 @@
@startuml diagram
class users {
id: text
username: text
email: email
name: text
image: file
created: date
updated: date
}
class trashs{
id: text
owner: users
number: text
created: date
updated: date
}
class data {
id: text
value: number
trashs_id: trashs
unit: text
status: bool
created: date
updated: date
}
users "1" <-- trashs
trashs "1" <-- data
@enduml

View File

@ -0,0 +1,29 @@
@startuml diagram
class users {
id: text
username: text
email: email
name: text
image: file
created: date
updated: date
}
class trashs{
id: text
owner: users
number: text
created: date
updated: date
}
class data {
id: text
trashs_id: trashs
unit: text
status: bool
value: number
created: date
updated: date
}
users "1" <-- trashs
trashs "1" <-- data
@enduml

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"C_Cpp.errorSquiggles": "disabled"
}

29
API/docs/diagram.wsd Normal file
View File

@ -0,0 +1,29 @@
@startuml diagram
class users {
id: text
username: text
email: email
name: text
image: file
created: date
updated: date
}
class trashs{
id: text
owner: users
number: text
created: date
updated: date
}
class data {
id: text
trashs_id: trashs
unit: text
status: bool
value: number
created: date
updated: date
}
users "1" <-- trashs
trashs "1" <-- data
@enduml

3
AR.meta Normal file
View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 19cf999df50c445ba3c964510468fb8d
timeCreated: 1679395580

3
AR/.env.example Normal file
View File

@ -0,0 +1,3 @@
API_URL=https://helloworld.com
API_USER=hello
API_PASSWORD=world

55
AR/.gitattributes vendored Normal file
View File

@ -0,0 +1,55 @@
# 3D models
*.3dm filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.c4d filter=lfs diff=lfs merge=lfs -text
*.collada filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
*.dxf filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.jas filter=lfs diff=lfs merge=lfs -text
*.lws filter=lfs diff=lfs merge=lfs -text
*.lxo filter=lfs diff=lfs merge=lfs -text
*.ma filter=lfs diff=lfs merge=lfs -text
*.max filter=lfs diff=lfs merge=lfs -text
*.mb filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.ply filter=lfs diff=lfs merge=lfs -text
*.skp filter=lfs diff=lfs merge=lfs -text
*.stl filter=lfs diff=lfs merge=lfs -text
*.ztl filter=lfs diff=lfs merge=lfs -text
# Audio
*.aif filter=lfs diff=lfs merge=lfs -text
*.aiff filter=lfs diff=lfs merge=lfs -text
*.it filter=lfs diff=lfs merge=lfs -text
*.mod filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.s3m filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.xm filter=lfs diff=lfs merge=lfs -text
# Fonts
*.otf filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
# Images
*.bmp filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.iff filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.pict filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.tif filter=lfs diff=lfs merge=lfs -text
*.tiff filter=lfs diff=lfs merge=lfs -text
# Collapse Unity-generated files on GitHub
*.asset linguist-generated
*.mat linguist-generated
*.meta linguist-generated
*.prefab linguist-generated
*.unity linguist-generated

147
AR/.gitignore vendored Normal file
View File

@ -0,0 +1,147 @@
# This .gitignore file should be placed at the root of your Unity project directory
# First part from https://github.com/github/gitignore/blob/master/Unity.gitignore
# Parkerhill additions at the end
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
# =========================
# PARKERHILL ADDITIONS
# =========================
# Unity app files
.GameStatistics
.PlayerSettings
# parkerhill unity project folder conventions
/AssetBundles/
# =========================
# OSX
# =========================
.DS_Store
.AppleDouble
.LSOverride
# thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# =========================
# Windows
# =========================
# Windows image file caches
Thumbs.db
Thumbs.db.meta
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
# Visual Studio stuff
.vs/
.idea/
.gradle/
PackageBackups/
# UWP builds
/UWP/*
.env

8
AR/Assets/ExampleAssets.meta generated Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5040ff35809714c9f899bd2e7ae0f30a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
AR/Assets/ExampleAssets/Materials.meta generated Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0a1aa25d695ea4175bf4920feb2742e1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,109 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-4490881977315335027
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlacedCubeMat
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0, g: 0.74509805, b: 0.8196079, a: 1}
- _Color: {r: 0.9647059, g: 0.455222, b: 0.11854753, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0ce7ca15cd93341beb67396a494cef55
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,79 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlaneMat
m_Shader: {fileID: 4800000, guid: 9b989c81462e144eb95a232bec4719d5, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: af6bcea09b8134831b6599e2900aef81, type: 3}
m_Scale: {x: 2.25, y: 2.25}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _PlaneColor: {r: 1, g: 1, b: 1, a: 0}
- _TexTintColor: {r: 1, g: 1, b: 1, a: 0.4}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2da0ea038f25a4fa998f183878aedf79
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

8
AR/Assets/ExampleAssets/Models.meta generated Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 262e742d15f1b4d1487c6709552f51e9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -36,6 +36,8 @@ monitor_flags =
; librairies ; librairies
lib_deps = lib_deps =
bportaluri/WiFiEsp@^2.2.2 ; gestion des commande 'AT' de l'esp01
arduino-libraries/Arduino_JSON@^0.2.0 ; gestion des json
; example: ; example:
; erropix/ESP32 AnalogWrite@^0.2 ; erropix/ESP32 AnalogWrite@^0.2

18
IOT/src/data/listData.js Normal file
View File

@ -0,0 +1,18 @@
import PocketBase from 'pocketbase';
const pb = new PocketBase('https://iot.epi.cb85.software');
// fetch a paginated records list
const resultList = await pb.collection('data').getList(1, 50, {
filter: 'created >= "2022-01-01 00:00:00" && someField1 != someField2',
});
// you can also fetch all records at once via getFullList
const records = await pb.collection('data').getFullList(200 /* batch size */, {
sort: '-created',
});
// or fetch only the first record that matches the specified filter
const record = await pb.collection('data').getFirstListItem('someField="test"', {
expand: 'relField1,relField2.subRelField',
});

View File

@ -1,12 +1,177 @@
#include <Arduino.h> /*
#include "Program.h" WiFiEsp example: WebClient
Program* program; This sketch connects to google website using an ESP8266 module to
perform a simple web search.
For more details see: http://yaab-arduino.blogspot.com/p/wifiesp-example-client.html
*/
#include <WiFiEsp.h>
#include <Arduino_JSON.h>
// Emulate Serial1 on pins 6/7 if not present
#ifndef HAVE_HWSERIAL1
#include "SoftwareSerial.h"
SoftwareSerial Serial1(6, 7); // RX, TX
#endif
char ssid[] = "Clement4G"; // TODO: mettre id wifi dans config.ini
char pass[] = "Clement123"; // TODO: mettre pass wifi dans config.ini
int status = WL_IDLE_STATUS; // the Wifi radio's status
//char server[] = "arduino.tips";
char server[] = "iot.epi.cb85.software";
String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJfcGJfdXNlcnNfYXV0aF8iLCJleHAiOjE2ODExMzM4NDMsImlkIjoiZnNlNm9uZ3AxNHN5bHVvIiwidHlwZSI6ImF1dGhSZWNvcmQifQ.QKvfyAQ-lxLHTLyZIQ0FrMYFn5XPTujY_N1Oz6BRHn4";
void printWifiStatus();
JSONVar* connect();
// Initialize the Ethernet client object
WiFiEspClient client;
void setup() { void setup() {
program = new Program(); // initialize serial for debugging
Serial.begin(115200);
// initialize serial for ESP module
Serial1.begin(115200);
// initialize ESP module
WiFi.init(&Serial1);
// check for the presence of the shield
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue
while (true);
}
// attempt to connect to WiFi network
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network
status = WiFi.begin(ssid, pass);
}
// you're connected now, so print out the data
Serial.println("You're connected to the network");
printWifiStatus();
Serial.println();
Serial.println("Starting connection to server...");
// if you get a connection, report back via serial
String temp = JSONVar::stringify((*connect())["token"]);
token = temp.substring(1,temp.length()-1);
Serial.println(token);
String data = "{\"value\": \"123\",\"trash_id\": \"gdnuxl0wlgurtj3\",\"unit\": \"test\",\"status\": true}";
if (client.connectSSL(server, 443)) {
Serial.println("Connected to server");
// Make a HTTP request
// client.println("GET /api/collections/poubelle_status/records HTTP/1.1");
// client.println("Host: iot.epi.cb85.software");
// client.println("Connection: close");
// client.println();
client.println("POST /api/collections/data/records HTTP/1.1");
client.println("Host: iot.epi.cb85.software");
client.println("Content-Type: application/json");
client.println("Content-Length: " + String(data.length()));
client.println("Authorization: Bearer " + token);
client.println();
client.println(data);
client.println("Connection: close");
client.println();
Serial.print("POUET");
}
} }
void loop() { void loop() {
program->loop(); // if there are incoming bytes available
// from the server, read them and print them
if (!client.available()) {
return;
}
while (client.available()) {
char c = client.read();
Serial.write(c);
}
// if the server's disconnected, stop the client
if (!client.connected()) {
Serial.println();
Serial.println("Disconnecting from server...");
client.stop();
// do nothing forevermore
while (true);
}
}
JSONVar* connect() {
String data = "{\"identity\":\"patrick\",\"password\":\"Patrick123\"}";
JSONVar* json = new JSONVar();
if (!client.connectSSL(server, 443)) {
Serial.println("NOT Connected to server");
return json;
}
client.println("POST /api/collections/users/auth-with-password HTTP/1.1");
client.println("Host: iot.epi.cb85.software");
client.println("Content-Type: application/json");
client.println("Content-Length: " + String(data.length()));
client.println();
client.println(data);
client.println("Connection: close");
client.println();
while (!client.available()) {
}
String responce = "";
while (client.available()) {
responce += (char)client.read();
}
Serial.println("---------------");
Serial.println(responce);
Serial.println("---------------");
String sortie = responce.substring(responce.indexOf("{"),responce.lastIndexOf("}")+1);
*json = JSON.parse(sortie);
return json;
}
void printWifiStatus() {
// print the SSID of the network you're attached to
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength
long rssi = WiFi.RSSI();
Serial.print("Signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
} }

View File

@ -0,0 +1,18 @@
import PocketBase from 'pocketbase';
const pb = new PocketBase('https://iot.epi.cb85.software');
// fetch a paginated records list
const resultList = await pb.collection('trashs').getList(1, 50, {
filter: 'created >= "2022-01-01 00:00:00" && someField1 != someField2',
});
// you can also fetch all records at once via getFullList
const records = await pb.collection('trashs').getFullList(200 /* batch size */, {
sort: '-created',
});
// or fetch only the first record that matches the specified filter
const record = await pb.collection('trashs').getFirstListItem('someField="test"', {
expand: 'relField1,relField2.subRelField',
});

View File

@ -0,0 +1,18 @@
import PocketBase from 'pocketbase';
const pb = new PocketBase('https://iot.epi.cb85.software');
// fetch a paginated records list
const resultList = await pb.collection('users').getList(1, 50, {
filter: 'created >= "2022-01-01 00:00:00" && someField1 != someField2',
});
// you can also fetch all records at once via getFullList
const records = await pb.collection('users').getFullList(200 /* batch size */, {
sort: '-created',
});
// or fetch only the first record that matches the specified filter
const record = await pb.collection('users').getFirstListItem('someField="test"', {
expand: 'relField1,relField2.subRelField',
});