Rumah > pembangunan bahagian belakang > Tutorial Python > Cara Pembangun Mendayakan Pengecas EV untuk Berkomunikasi dengan Apl Mudah Alih

Cara Pembangun Mendayakan Pengecas EV untuk Berkomunikasi dengan Apl Mudah Alih

Susan Sarandon
Lepaskan: 2025-01-16 14:09:59
asal
508 orang telah melayarinya

Dalam dunia kenderaan elektrik (EV), salah satu pengalaman paling ajaib bagi pemandu EV ialah mengetik "Mula" pada apl mudah alih mereka dan melihat pengecas menjadi hidup.

Tetapi bagaimana keajaiban itu berlaku?

Mari kita selami perjalanan belakang tabir cara pengecas EV dan apl mudah alih berkomunikasi.

Pemain dalam Permainan

  1. Apl Mudah Alih: Di sinilah pengguna memulakan tindakan, seperti memulakan atau menghentikan sesi pengecasan.
  2. Pelayan Belakang: Otak di sebalik operasi, menyelaraskan komunikasi antara apl dan pengecas.
  3. Pengecas EV: Perkakasan yang menghantar jus ke EV anda.

Komunikasi antara pemain ini mengikut protokol piawai yang dipanggil OCPP (Open Charge Point Protocol). Khususnya, kebanyakan sistem menggunakan OCPP melalui WebSocket, yang memastikan komunikasi masa nyata dan boleh dipercayai.

Image description

Memulakan Proses Pengecasan

Langkah 1: Pengguna Tekan "Mula" dalam Apl

Proses bermula apabila pengguna mengetik butang "Mula". Pelayan bahagian belakang menyediakan perintah RemoteStartTransaction dengan butiran berikut:

{
  "connectorId": 1,
  "idTag": "remote-11902",
  "chargingProfile": {
    "transactionId": 11902,
    "chargingProfileId": 1,
    "stackLevel": 1,
    "chargingProfilePurpose": "TxProfile",
    "chargingProfileKind": "Relative",
    "chargingSchedule": {
      "chargingRateUnit": "A",
      "chargingSchedulePeriod": [ ... ]
    }
  }
}
Salin selepas log masuk
Salin selepas log masuk

Arahan ini dihantar kepada pengecas melalui hujung belakang menggunakan panggilan RPC:

await client.call(
  'RemoteStartTransaction',
  remoteStartTransactionBody
);
Salin selepas log masuk

Langkah 2: Pengecas Bertindak Balas

Pengecas mengakui arahan dengan respons:

{"status": "Accepted"}
Salin selepas log masuk
Salin selepas log masuk

Ini menunjukkan pengecas sedia untuk memulakan transaksi.

Langkah 3: Pengecas Menghantar StartTransaction

Apabila pengecas disediakan sepenuhnya, ia menghantar mesej StartTransaction kembali ke hujung belakang:

{
  "connectorId": 1,
  "idTag": "remote-11902",
  "meterStart": 0,
  "timestamp": "2025-01-15T02:09:54.000Z"
}
Salin selepas log masuk

Memantau Sesi Pengecasan

Sepanjang sesi pengecasan, pengecas menghantar kemas kini MeterValues secara berkala, yang termasuk metrik seperti voltan, arus dan tenaga yang dihantar. Kemas kini ini boleh dikonfigurasikan untuk berlaku setiap 30 saat atau pada selang masa yang berbeza:

{
  "connectorId": 1,
  "transactionId": 11902,
  "meterValue": [
    {
      "timestamp": "2025-01-15T02:09:54.000Z",
      "sampledValue": [
        { "value": "241.10", "measurand": "Voltage", "unit": "V" },
        { "value": "0.00", "measurand": "Current.Import", "unit": "A" },
        { "value": "0", "measurand": "Power.Active.Import", "unit": "W" },
        { "value": "32", "measurand": "Current.Offered", "unit": "A" }
      ]
    }
  ]
}
Salin selepas log masuk

Menghentikan Proses Pengecasan

Langkah 1: Pengguna Tekan "Berhenti" dalam Apl

Apabila pengguna mengetik “Berhenti,” bahagian belakang menghantar perintah RemoteStopTransaction kepada pengecas:

await client.call(
  'RemoteStopTransaction',
  { transactionId: 11902 }
);
Salin selepas log masuk

Langkah 2: Pengecas Bertindak Balas

Pengecas mengakui dengan:

{"status": "Accepted"}
Salin selepas log masuk
Salin selepas log masuk

Langkah 3: Pengecas Menghantar Henti Transaksi

Selepas menyelesaikan penutupan, pengecas menghantar mesej Berhenti Urus Niaga dengan butiran seperti jumlah tenaga yang dihantar:

{
  "connectorId": 1,
  "idTag": "remote-11902",
  "chargingProfile": {
    "transactionId": 11902,
    "chargingProfileId": 1,
    "stackLevel": 1,
    "chargingProfilePurpose": "TxProfile",
    "chargingProfileKind": "Relative",
    "chargingSchedule": {
      "chargingRateUnit": "A",
      "chargingSchedulePeriod": [ ... ]
    }
  }
}
Salin selepas log masuk
Salin selepas log masuk

Apakah Penyambung?

Sama seperti pam gas mungkin mempunyai muncung berbeza untuk diesel atau petrol, pengecas EV boleh mempunyai berbilang penyambung. Jenis biasa termasuk:

  • CCS2: Popular di Eropah dan Amerika Utara.
  • CHAdeMO: Biasa di Jepun.
  • Mennekes (Jenis 2): Digunakan secara meluas di Eropah.

Setiap penyambung beroperasi secara berasingan, membenarkan satu pengecas untuk menyediakan berbilang kenderaan.

Image description

OCPP

OCPP (Open Charge Point Protocol) ialah standard komunikasi terbuka yang direka bentuk untuk interaksi antara stesen pengecas kenderaan elektrik (EV) (mata pengecas) dan sistem pengurusan pusat (sering dirujuk sebagai sistem hujung belakang atau sistem pengurusan titik pengecasan).

Ia membolehkan kesalingoperasian antara infrastruktur pengecasan daripada pengeluar dan pembekal perisian yang berbeza.

Versi OCPP:

  • OCPP 1.5: Versi awal, masih digunakan dalam beberapa sistem lama.
  • OCPP 1.6: Diguna pakai secara meluas, menyokong komunikasi SOAP dan WebSocket.
  • OCPP 2.0 & 2.0.1: Versi dipertingkat dengan lebih banyak ciri seperti keselamatan yang dipertingkatkan (TLS), sokongan untuk pengecasan pintar, diagnostik yang lebih baik dan pengurusan perisian tegar.

Kes Penggunaan Utama:

  1. Pengurusan Stesen Pengecas: Pemantauan jauh, penyelesaian masalah dan kemas kini perisian tegar untuk stesen pengecasan.
  2. Pengecas Pintar: Mendayakan pengimbangan beban, penjadualan/ pra-tempahan dan penyepaduan dengan grid tenaga.
  3. Penyepaduan Pembayaran: Membenarkan stesen pengecasan berinteraksi dengan gerbang pembayaran dan mengurus akaun pengguna.
  4. Analitik dan Pelaporan: Membantu pengendali menganalisis corak penggunaan dan mengoptimumkan operasi.

Cara OCPP Berfungsi:

OCPP mentakrifkan struktur mesej dan protokol komunikasi antara titik pengecasan dan sistem pusat. Contohnya:

  • Titik pengecas menghantar mesej tentang status, penggunaan tenaga atau ralatnya.
  • Sistem pusat boleh menghantar arahan untuk memulakan/berhenti mengecas, mengemas kini perisian tegar atau melakukan diagnostik.

OCPP diuruskan oleh Open Charge Alliance (OCA), yang terus membangunkan dan mempromosikan protokol.

Pakej

  1. Python: rumah mobiliti/ocpp
  2. Javascript: mikuso/ocpp-rpc

Membungkusnya

Setiap kali anda memulakan atau berhenti mengecas daripada apl anda, satu siri mesej masa nyata yang tepat mengalir antara apl anda, bahagian belakang dan pengecas.

Protokol OCPP membolehkan semuanya, memastikan pengecas dan apl daripada pengeluar yang berbeza boleh berfungsi bersama dengan lancar.

Jadi, lain kali anda pasangkan EV anda dan ketik "Mula," anda akan mengetahui lebih banyak tentang keajaiban di sebalik tabir!


Saya telah mengusahakan alat yang sangat mudah yang dipanggil LiveAPI.

Ia direka untuk menjadikan dokumentasi API mudah untuk pembangun.

Dengan LiveAPI, anda boleh menjana dokumentasi API interaktif dengan cepat yang membolehkan pengguna melaksanakan API terus daripada penyemak imbas.

Image description

Jika anda bosan membuat dokumen secara manual untuk API anda, alat ini mungkin menjadikan hidup anda lebih mudah.

Cara Pembangun Mendayakan Pengecas EV untuk Berkomunikasi dengan Apl Mudah Alih

Dari Lama2 ke LiveAPI: Membina Dokumentasi API Sangat Mudah (Bahagian II)

Athreya aka Maneshwar untuk Cara Pembangun Mendayakan Pengecas EV untuk Berkomunikasi dengan Apl Mudah Alih ・ 14 Dis '24

#webdev #javascript #pengaturcaraan #pemula

Atas ialah kandungan terperinci Cara Pembangun Mendayakan Pengecas EV untuk Berkomunikasi dengan Apl Mudah Alih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan