cari
Rumahpembangunan bahagian belakangTutorial PythonCara Pembangun Mendayakan Pengecas EV untuk Berkomunikasi dengan Apl Mudah Alih

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": [ ... ]
    }
  }
}

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

await client.call(
  'RemoteStartTransaction',
  remoteStartTransactionBody
);

Langkah 2: Pengecas Bertindak Balas

Pengecas mengakui arahan dengan respons:

{"status": "Accepted"}

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"
}

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" }
      ]
    }
  ]
}

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 }
);

Langkah 2: Pengecas Bertindak Balas

Pengecas mengakui dengan:

{"status": "Accepted"}

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": [ ... ]
    }
  }
}

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
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
Python vs C: Memahami perbezaan utamaPython vs C: Memahami perbezaan utamaApr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Python vs C: Bahasa mana yang harus dipilih untuk projek anda?Python vs C: Bahasa mana yang harus dipilih untuk projek anda?Apr 21, 2025 am 12:17 AM

Memilih Python atau C bergantung kepada keperluan projek: 1) Jika anda memerlukan pembangunan pesat, pemprosesan data dan reka bentuk prototaip, pilih Python; 2) Jika anda memerlukan prestasi tinggi, latensi rendah dan kawalan perkakasan yang rapat, pilih C.

Mencapai matlamat python anda: kekuatan 2 jam sehariMencapai matlamat python anda: kekuatan 2 jam sehariApr 20, 2025 am 12:21 AM

Dengan melabur 2 jam pembelajaran python setiap hari, anda dapat meningkatkan kemahiran pengaturcaraan anda dengan berkesan. 1. Ketahui Pengetahuan Baru: Baca dokumen atau tutorial menonton. 2. Amalan: Tulis kod dan latihan lengkap. 3. Kajian: Menyatukan kandungan yang telah anda pelajari. 4. Amalan Projek: Sapukan apa yang telah anda pelajari dalam projek sebenar. Pelan pembelajaran berstruktur seperti ini dapat membantu anda menguasai Python secara sistematik dan mencapai matlamat kerjaya.

Memaksimumkan 2 Jam: Strategi Pembelajaran Python BerkesanMemaksimumkan 2 Jam: Strategi Pembelajaran Python BerkesanApr 20, 2025 am 12:20 AM

Kaedah untuk belajar python dengan cekap dalam masa dua jam termasuk: 1. Semak pengetahuan asas dan pastikan anda sudah biasa dengan pemasangan Python dan sintaks asas; 2. Memahami konsep teras python, seperti pembolehubah, senarai, fungsi, dan lain -lain; 3. Menguasai penggunaan asas dan lanjutan dengan menggunakan contoh; 4. Belajar kesilapan biasa dan teknik debugging; 5. Memohon pengoptimuman prestasi dan amalan terbaik, seperti menggunakan komprehensif senarai dan mengikuti panduan gaya PEP8.

Memilih antara python dan c: bahasa yang sesuai untuk andaMemilih antara python dan c: bahasa yang sesuai untuk andaApr 20, 2025 am 12:20 AM

Python sesuai untuk pemula dan sains data, dan C sesuai untuk pengaturcaraan sistem dan pembangunan permainan. 1. Python adalah mudah dan mudah digunakan, sesuai untuk sains data dan pembangunan web. 2.C menyediakan prestasi dan kawalan yang tinggi, sesuai untuk pembangunan permainan dan pengaturcaraan sistem. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Python vs C: Analisis perbandingan bahasa pengaturcaraanPython vs C: Analisis perbandingan bahasa pengaturcaraanApr 20, 2025 am 12:14 AM

Python lebih sesuai untuk sains data dan perkembangan pesat, manakala C lebih sesuai untuk prestasi tinggi dan pengaturcaraan sistem. 1. Sintaks Python adalah ringkas dan mudah dipelajari, sesuai untuk pemprosesan data dan pengkomputeran saintifik. 2.C mempunyai sintaks kompleks tetapi prestasi yang sangat baik dan sering digunakan dalam pembangunan permainan dan pengaturcaraan sistem.

2 jam sehari: potensi pembelajaran python2 jam sehari: potensi pembelajaran pythonApr 20, 2025 am 12:14 AM

Adalah mungkin untuk melabur dua jam sehari untuk belajar Python. 1. Belajar Pengetahuan Baru: Ketahui konsep baru dalam satu jam, seperti senarai dan kamus. 2. Amalan dan Amalan: Gunakan satu jam untuk melakukan latihan pengaturcaraan, seperti menulis program kecil. Melalui perancangan dan ketekunan yang munasabah, anda boleh menguasai konsep teras Python dalam masa yang singkat.

Python vs C: Lengkung pembelajaran dan kemudahan penggunaanPython vs C: Lengkung pembelajaran dan kemudahan penggunaanApr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

See all articles

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

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)