Ñîçäàíèå ñêðèïòà íà PHP 7.x

Çàäàíèå çàêðûòî
Ñòàòóñ ðàáî÷åé îáëàñòè:Çàâåðøåíî
Ñòîèìîñòü:50 000 ðóáëåé
Ñðîê âûïîëíåíèÿ:14 äíåé
Âàðèàíòû îïëàòû:Ïî äîãîâîðåííîñòè
Äàòà ïóáëèêàöèè:2025-02-25 16:00
Áûë(à) íà ñàéòå:2025-03-06 22:13

Ñîçäàíèå ñêðèïòà íà PHP 7.x

 
Çàäà÷à

Åñòü ïðèëîæåíèå smart life, â íåãî çàâåäåí Øëþç Bluetooth Tuya è 2 Bluetooth çàìêà. Íóæíî íàïèñàòü ñêðèïò íà PHP, êîòîðûé áû ÷åðåç íàæàòèå êíîïêè íà âåá ñòðàíèöå, îòêðûâàë è çàêðûâàë äàííûå çàìêè ïî ñðåäñòâàì API ó Tuya\Smart Life. PHP 7.õ (íå 8).
Íóæíà ðàáîòà ïîä êëþ÷. Ò.å. ðåãèñòðàöèÿ àêêàóíòà ðàçðàáîò÷èêà è ïðî÷åå òàê æå íà îòâåòñòâåííîñòè èñïîëíèòåëÿ.

Îñòàâëÿòü çàÿâêè ìîãóò òîëüêî àâòîðèçîâàííûå ïîëüçîâàòåëè.
Èñïîëíèòåëü ïî ýòîìó çàäàíèþ âûáðàí.
Ñêðèïò íàïèñàë. Ïðèìèòå ðàáîòó. Åñëè ðàáîòàòü íå áóäåò, òî ñîîáùèòå. Âçÿë çàäàíèå, êàê ðàçâèòèå ñîáñòâåííîãî ïîðòôîëèî. Åñëè áóäåò ðàáîòàòü, òî áóäó íå ïðîòèâ îïëàòû.

Ñâÿçü - https://t.me/tilt0pain
Âèêòîð Çîòîâ
Îñíîâíàÿ ñïåöèàëèçàöèÿ: Âåá-ðàçðàáîòêà è Ïðîäóêòîâûé äèçàéí
Èíòåðåñíî. Îáðàùàéòåñü.
Çäðàâñòâóéòå, Ìàêñèì, ãîòîâ îáñóäèòü äåòàëè ïðîåêòà. Îïûò åñòü!

Æäó Âàøåãî îòâåòà!
---------------------------------------
Telegram - @ab_damirr

WhatsApp- +79172088852

Ïî÷òà - freelancedamir@yandex.ru

Ïðèìåðû ìîèõ ðàáîò

IT è Ðàçðàáîòêà
Äèçàéí, Ìîíòàæ è 3D
Êîïèðàéòèíã, Ðåðàéòèíã è Ïåðåâîäû
ïûòàëñÿ ðàáîòàòü ñ Òóÿ àïè íåìíîãî. Äóìàþ ïîëó÷èòñÿ. Íî ñðàçó ãîâîðþ òîëüêî ïåðåïîäêëþ÷èòå(èëè ñìåíèòå ðîóòåð)- âñå ïîñëåòàåò. Ýòî íå íàäåæíî 1. Äâà - ýòî êàæäûé ïîëãîäà áóäåò òðåáîâàòü ïðèâëå÷åíèå êîäåðà, òàêàÿ ïîëèòèêà ó Òóè. Èëè ñàìè áóäóòå èçìåíÿòü. Êîãäà ñòðîèë ñâîé óìíûé äîì íà õîì àñèñòåíò ñòàëêèâàëñÿ.
Åñëè õîòèòå ñòàáèëüíîãî ðåøåíèÿ - ïîñìîòðèòå òàêèå æå íà Çèãáè.
Âîçìîæíî êñòàòå çàìîê ïîäêëþ÷èòüñÿ ê òàêîé æå ïàíåëüêå êàê ìîÿ. È íå ïðèéäåòñÿ èçîáðåòàòü âåëîñèïåä

Ïðèìåðû ìîèõ ðàáîò

Ãîäîâîé ôèíàíñîâûé òðåêåð ñ ïîìåñÿ÷íîé äåòàëèçàöèåé
Ìîáèëüíîå ïðèëîæåíèå ïîêàçàíèÿ ñ÷åò÷èêà âîäû
Cloudflare â Ðîññèè áîëüøå íå ðàáîòàåò? Ñäåëàë ñâîé ìèíè-CDN íà ñåðâåðàõ â Ìîñêâå è NL — ñàéòû ëåòàþò âåçäå áåç áëîêèðîâîê
Çäðàâñòâóéòå!
Ãîòîâ âûïîëíèòü âàø ïðîåêò ïî èíòåãðàöèè Bluetooth-çàìêîâ Tuya ñî ñêðèïòîì íà PHP 7.x. Ó ìåíÿ åñòü îïûò ðàáîòû ñ API è âçàèìîäåéñòâèåì ñ óìíûìè óñòðîéñòâàìè.

×òî ÿ ñäåëàþ:
? Ðåãèñòðàöèÿ è íàñòðîéêà àêêàóíòà ðàçðàáîò÷èêà Tuya
? Íàñòðîéêà API è ïîäêëþ÷åíèå øëþçà/çàìêîâ
? Ðàçðàáîòêà PHP-ñêðèïòà äëÿ óïðàâëåíèÿ çàìêàìè (îòêðûòèå/çàêðûòèå)
? Ñîçäàíèå âåá-èíòåðôåéñà ñ êíîïêàìè äëÿ óïðàâëåíèÿ
? Òåñòèðîâàíèå è ïîìîùü â íàñòðîéêå
Ñäåëàþ áûñòðî, ïðàâèëüíî è íåäîðîãî.
Ãîòîâ îáñóäèòü äåòàëè è ïðèñòóïèòü ê ðàáîòå!
Æäó âàøåãî îòâåòà.
ÒÃ - SonyPack
Çäðàâñòâóéòå!
Ìîãó âûïîëíèòü ðàáîòó.
Ñäåëàþ êà÷åñòâåííóþ ðàáîòó,
Îïûò áîëåå 7 ëåò.
Ïèøèòå îáñóäèì.
https://t.me/Gharibyan_001
https://wa.me/+37491333398
<?php
/**
* Ïðèìåð çàïðîñà íà ïîëó÷åíèå òîêåíà îò Tuya Cloud
* Çàïóñêàåòñÿ íà PHP 7.x
*/
$clientId = 'ÂÀØ_CLIENT_ID';
$clientSecret = 'ÂÀØ_CLIENT_SECRET';
// Ïîäñòàâüòå íóæíûé ðåãèîíàëüíûé endpoint
// (íàïðèìåð, https://openapi.tuyaeu.com, https://openapi.tuyacn.com è ò.ä.)
// Ñì. https://developer.tuya.com/en/docs/iot/Platform_Configuration_Manual?id=Kamcgamwoevrx
$apiEndpoint = 'https://openapi.tuyaus.com'; // ïðèìåð äëÿ ÑØÀ

// 1) Ïîëó÷àåì òîêåí
$url = $apiEndpoint . '/v1.0/token?grant_type=1';
$t = round(microtime(true) * 1000); // òåêóùàÿ ìåòêà âðåìåíè (ìñ)

// Çàãîëîâêè: îáÿçàòåëüíî óêàçûâàåì client_id, sign, t.
//  áîëåå óïðîù¸ííîì âàðèàíòå: sign = HMAC-SHA256 (clientId + t) ñ êëþ÷îì clientSecret
// Íî ó íåêîòîðûõ ïðîåêòîâ ìîæíî âêëþ÷èòü Simplify security.
// Íèæå — ïðèìåð äëÿ "ïðîñòîãî" âàðèàíòà, ìîæåò ïîòðåáîâàòüñÿ êîððåêòèðîâàòü â çàâèñèìîñòè îò íàñòðîåê ïðîåêòà
$stringToSign = $clientId . $t;
$sign = base64_encode(hash_hmac('sha256', $stringToSign, $clientSecret, true));

$headers = [
"client_id: $clientId",
"sign: $sign",
"t: $t",
"sign_method: HMAC-SHA256",
"Content-Type: application/json"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true); // POST
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
}
curl_close($ch);

$data = json_decode($response, true);
if (isset($data['success']) && $data['success'] == true) {
$token = $data['result']['access_token'];
echo "Òîêåí ïîëó÷åí: " . $token . PHP_EOL;
} else {
echo "Íå óäàëîñü ïîëó÷èòü òîêåí. Îòâåò: " . $response;
}
Ñòàíèñëàâ Ïîíîìàðåâ
Îñíîâíàÿ ñïåöèàëèçàöèÿ: Âåá-ðàçðàáîòêà è Ïðîäóêòîâûé äèçàéí
Çäðàâñòâóéòå! Îïûò â ðàçðàáîòêå áîëåå 10 ëåò, ñäåëàþ, äåëàë áëèçêèå çàäà÷è ïî ôóíêöèîíàëó
Ïèøèòå â òåëåãðàì @pifagorovishtani , îáñóäèì äåòàëè

Îñòàâëÿòü çàÿâêè ìîãóò òîëüêî àâòîðèçîâàííûå ïîëüçîâàòåëè.