evcsms-data-collector
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.3%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: signorrayan
- License: mit
- Language: Python
- Default Branch: main
- Size: 475 KB
Statistics
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
Electric Vehicle Charging Station Data Collector
Note: This project assumes proper handling of Shodan API keys and adherence to ethical data usage practices. Ensure compliance with Shodan's terms of service. This repository is for educational purposes only.
Project Overview
The Electric Vehicle Charging Station Data Collector is a comprehensive solution for collecting, analyzing, and monitoring data from various EV charging stations. The project consists of three interconnected Python modules that leverage Shodan for initial data discovery, data gathering for real-time data extraction, and for detailed information retrieval in a full automated way.
Project Workflow

Shodan Data Retrieval: Identifies potential charging stations and assesses security vulnerabilities.
Data Overview (Click to see details)
The dataset includes information on various charging stations, comprising columns such as IP addresses, hostnames, open ports, titles, and known Common Vulnerabilities and Exposures (CVEs). This data was collected using Shodan API, offering a snapshot of the current landscape of publicly available charging infrastructure.Garo Data Gathering: Extracts real-time operational data from charging stations' web interfaces.
Data Analysis and Insights (Click to see details)
| Topic | Description |
|-----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Connection Status Overview | - Understand the overall connection status of the charging stations.
- Identify stations with consistently stable or unstable connections. |
| CSMS Connection Analysis | - Analyze the CSMS network connection details to ensure seamless communication with the central management system.
- Identify stations facing registration issues or errors. |
| Ethernet Settings Evaluation | - Examine Ethernet settings to assess network configurations.
- Identify stations with specific frequency or signal strength patterns. |
| Software Version Distribution | - Investigate the distribution of software versions across stations.
- Identify stations that may require updates or maintenance. |
- Multiple Companies Data Gathering: Retrieves detailed information for in-depth analysis and reporting.
Key Observations and Analysis (Click to see details)
| Topic | Description | |---------------------------------|------------------------------------------------------------------------| | Station Information | The CSV file includes URLs for each charging station, providing a direct link to their respective states. | | Operational Parameters | The dataset covers various operational parameters, including LED type, power in watts, operator selection mode, temperature monitoring state, etc. | | Charging States | Charging station states, represented by "IDLE," "CONNECTED," or "DISABLED," provide insights into the availability and readiness of the stations for charging. | | Physical Security Indicators | "Plug not locked" messages indicate potential physical security risks. | | Metering Information | Meter configurations, such as Modbus Meter ABB, are present. Securing these meters is crucial for accurate billing and preventing fraudulent activities. | | Communication Details | Mobile network details, including ICCID, IMSI, and IMEI, are provided. | | Energy Consumption | Energy-related parameters, such as energy in watt-hours and charging current, offer insights into consumption patterns. | | Security States | - OCPP states, including "CONNECTED" or "DISABLED," require close monitoring for secure communication. An "IDLE" state signifies readiness for charging. |
Features
The main module - Shodan Data Retrieval Script (
main.py):- Identifies EV charging stations using Shodan.
- Gathers metadata, open ports, and known vulnerabilities.
- Assesses security risks before proceeding with data extraction.
Second module - Garo data gathering (
evcs/garo.py):- Collects real-time operational data from EV charging stations' web interfaces.
- Utilizes asynchronous web scraping techniques to extract critical information.
Third module - Multiple companies data gathering (
evcs/ensto.py):- Automates the retrieval of detailed information from charging stations.
- Focuses on EVSE access-point details, CSMS connection information, and more.
- Utilizes asynchronous requests and BeautifulSoup for HTML parsing.
Getting Started
Prerequisites
- Python 3.x
- Shodan API Key
Installation
- Cloning the project
bash git clone https://github.com/signorrayan/EVCSMS-Data-Collector.git cd EVCSMS-Data-Collector Create a
.envfile: Writing your Shodan API key to it.bash echo 'SHODAN_API_KEY = "<YOUR_KEY_HERE>"' > .envInstall requirements:
bash python3 -m venv venv source venv/bin/activate python3 -m pip install -r requirements.txt
Usage
- Run the script:
bash python3 main.pyThe results (Three csv data collection) will be stored in the following directory:results/*.csv
License
This project is licensed under the MIT License - see the LICENSE file for details.
Happy monitoring! 🚗⚡
Owner
- Name: Mohammadreza Sarayloo
- Login: signorrayan
- Kind: user
- Repositories: 4
- Profile: https://github.com/signorrayan
Slowly is the fastest way to get to where you want to be.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: EVCSMS-Data-Collector
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Mohammadreza
family-names: Sarayloo
repository-code: 'https://github.com/signorrayan/EVCSMS-Data-Collector'
abstract: >-
The Electric Vehicle Charging Station Data Collector is a
comprehensive solution for collecting, analyzing, and
monitoring data from various EV charging stations. The
project consists of three interconnected Python modules
that leverage Shodan for initial data discovery, data
gathering for real-time data extraction, and for detailed
information retrieval in a full automated way.
license: MIT
GitHub Events
Total
Last Year
Dependencies
- aiohttp ==3.8.1
- beautifulsoup4 ==4.10.0
- pandas ==2.1.4
- python-dotenv ==1.0.0
- shodan ==1.31.0