Pour les voiture électriques il est conseillé, sauf pour un long trajet de rester entre 80 % et 20 %. La durée de vie est alors beaucoup plus important que ce qu'annoncent les constructeurs auto.
J'ai donc créer une prise Wifi grâce à un Arduino dont il suffit d'envoyer une requête composée se l'adresse IP + /ON ou OFF pour commander cette dernière.
L'adresse ici ("192.168.1.239") est celle que j'ai programmée dans l'Arduino mais il suffit de l'adapter à votre box
Si cela vous intéresse je peux faire un tuto pour réaliser ce montage.
Le code est le suivant :
Code : Tout sélectionner
InitNetwork()
Global Etat.s, Charge.s, Niveaux
Enumeration
#level
#text1
#text2
#poussoir
EndEnumeration
Procedure DisplayBatteryLevel()
Protected.SYSTEM_POWER_STATUS status
; Récupération du statut de l'alimentation du système
GetSystemPowerStatus_(@status)
; Vérification que l'ordinateur est alimenté par la batterie
Niveaux = (status\BatteryLifePercent)
SetGadgetState(Level,Niveaux)
SetGadgetText(#text2,Str(Niveaux) + " %" )
If Niveaux > 80
HttpRequest = HTTPRequestMemory(#PB_HTTP_Post, "http://192.168.1.239/OFF")
SetGadgetText(#text2,Str(Niveaux) + " %" )
Charge = "NON"
SetGadgetColor(#poussoir, #PB_Gadget_FrontColor, #Green)
EndIf
If Niveaux <= 30
HttpRequest = HTTPRequestMemory(#PB_HTTP_Post, "http://192.168.1.239/ON")
SetGadgetText(#text2,Str(Niveaux) + " %" )
Charge = "OUI"
SetGadgetColor(#poussoir, #PB_Gadget_BackColor, #Red)
EndIf
If status\ACLineStatus = 0
SetGadgetText(#text1,"Alimenté depuis la batterie" )
Else
SetGadgetText(#text1,"Alimenté sur le secteur 220 V")
EndIf
Delay(time)
EndProcedure
Procedure Change()
If Charge ="OUI"
Charge = "NON"
HttpRequest = HTTPRequestMemory(#PB_HTTP_Post, "http://192.168.1.239/OFF")
Else
Charge = "OUI"
HttpRequest = HTTPRequestMemory(#PB_HTTP_Post, "http://192.168.1.239/ON")
EndIf
DisplayBatteryLevel()
EndProcedure
If OpenWindow(0,0,0,320,80,"Niveau de Charge batterie",#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
hwnd = WindowID(0)
hdc = GetDC_(hwnd)
ButtonGadget(#poussoir,260,10,50,20,"Forcer",#PB_Text_Center)
SetWindowTheme_(GadgetID(#poussoir), #Empty$, #Empty$)
TextGadget(#text1,60,20,190,20,"",#PB_Text_Center)
TextGadget(#text2,20,40,270,20,"",#PB_Text_Center)
ProgressBarGadget(#level, 10, 60, 280,15, 0,100)
Event = WindowEvent()
Repeat
BindGadgetEvent(#poussoir, @Change())
DisplayBatteryLevel()
Event = WindowEvent()
WaitWindowEvent(1000)
Until Event = #PB_Event_CloseWindow
EndIf