Jadual Kandungan
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
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

Jan 16, 2025 pm 02:09 PM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Apr 01, 2025 pm 10:51 PM

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Apr 02, 2025 am 07:03 AM

Memahami Strategi Anti-Crawling of Investing.com Ramai orang sering cuba merangkak data berita dari Investing.com (https://cn.investing.com/news/latest-news) ...

See all articles