Close
0%
0%

InternetS of Energy - Call me DAISEE

Decentralized Autonomous Interconnected Systems for Energy Efficiency - A blockchain based energy DAO

Similar projects worth following
OUR VISION

We consider Energy a a Common. We're commited to build the "Internets of Energy".

OUR MISSION

DAISEE has the ambition to bring energy door-to-door, like the internets have brought information (and so much more) at our doorstep, either from a centralised system or just from your neighbour. We want to foster resilient decentralised, secured and trusted energy infrastructures giving the power to the "prosumers" to freely decide how to share energy.

WHAT WE DO

We design open-source based secured decentralized autonomous energy organisation systems (from consumption monitoring and consensual management to smart-contract based energy production sharing). We deploy trusted (micro) peer-to-peer energy infrastructures.

MAIN TAGS

#DAO #Ethereum #blockchain #IoT #openhardware #monitoring #microgrid #peer-to-peer

[Please note that the grey/black triangular shape logo is derived from the Ethereum logo]

Up today, the easiest way to provide fairly important amounts of energy to a relatively big amount of people was to build big power plants (from coal to nuclear also using gas and hydropower) with heavy infrastructures (big pipes that go through the territories and more little pipes that go from the substations to homes). Such a system is relying on low-cost and abundant non-renewable resources.

With the increase of both local and global energy consumption, resources (very fast) depletion, climate change and... renewable energy costs plummeting, the system has started to evolve... So, more and more it looks like pretty much like that:

A more decentralized organization relying on diffuse renewable resources. This means that production points are more local and close to consumption points.

However, such a system is based on existing infrastructures and local electricity producers are usually not the owners of the produced good (electricity) since they are constrains by regulatory laws making it compulsory either to sell the electricity to another bigger producer or a dispatcher, or to consume its own electricity.

There are mainly 4 problems:

  • First, energy producers and dispatchers do not know well (usually not at all) the real time consumption pattern at the micro-level, meaning they do not have meaningful energy consumption information on their clients that would help to real time optimize the production/consumption balance;
  • Second, in current systems energy losses are huge (between 7 and 12% of the total production) because of losses in the pipes making the grid;
  • Third, the current systems do not take the full potential of local resources; those systems are not in place and not consistent with developing countries issues about energy accessibility because not resilient enough;
  • Last but not least, consumers do not get real interaction with energy, making raising awareness on reducing energy consumption hard. The only relation you've got with your energy provider is, first the bill, second the switch.

The are then 4 big issues levels:

  • The increasing complexity of the energy system and organization;
  • The cost of a trusted 3rd party (specifically the one enabling distribution);
  • The complexity and inconsistency of the regional regulatory contexts;
  • The consumer side: how to get people involved in energy governance?

The solution that is proposed here to solve those problems is to experiment and move towards a (more) DISTRIBUTED energy systems organization, like that:

Like the internets we strongly believe that DISTRIBUTED energy systems will help to develop DECENTRALIZED AUTONOMOUS energy ORGANIZATIONS, thus providing strong and resilient answers to the here-above mentioned challenges.


What are the challenges to solve the problem?

Secure energy data

We could access to meaningful and secured energy consumption and production data with monitoring systems like Open Energy Monitor with embedded installed Ethereum (light) clients to record energy flows on a distributed ledger ("blockchain"). This gives the opportunity to secure and validate data and to access "pseudonymous" consumption and production energy data to facilitate transactions.

Reduce energy losses

Relying on peer-to-peer energy transaction through micro-grid at the local level makes it possible to significantly reduce energy losses in the grid since electricity does not have to cross the country to reach the consumption point.

Create "short circuits"

Locally distributed energy systems that are interconnected one to another make it possible to take full advantage of diffuse local resources (sun, wind, hydro, electro-chemical electricity production - from plants and bacteria...) while strengthening the resilience of the system, since what's produced locally is locally consumed.

Open energy governance

Consumers are part of the equation, if not the central and main actor while talking about energy. A distributed system makes it possible to switch from pure...

Read more »

La MYNE - Presentation.mp4

Presentation of La MYNE (New Ideas and Experiments Manufacture). This is the context and the place where we develop our programs. It's basically a shared hybrid space or a hackerspace.

MPEG-4 Video - 45.76 MB - 10/10/2016 at 13:02

Download

Micro-energy markets - The role of a consumer preference pricing strategy on microgrid energy investment.pdf

The fragility of the modern electrical grid is exposed during random events such as storms, sporting events and often simply routine operation. Even with these obvious flaws large utilities and governments have been slow to create robust solutions due to the need of large capital investments required to address the issues. In this light creative economic and engineering solutions are desired to finance the needed upgrades. Driven by the requirement to have uninterrupted power that meets customers desires this research focuses on linking consumer preferences to a type of energy source in order to best fulfill stakeholder priorities. This approach is in contrast to the current and prevalent lowest cost methods to producing and consuming energy. This research yields a preliminary ‘micro-energy market’ that consists of an energy network architecture, pricing methodology and mathematical template which quantifies potential economic inefficiencies. If exploited these inefficiencies could be

Adobe Portable Document Format - 1.03 MB - 10/10/2016 at 13:00

Preview Download

Recherche_SmartGrid.pdf

« Smart grids » : Les réseaux et compteurs d’électricité « intelligents ». émergence d’une ère post-Carbone, ou Avènement de la société de contrôle.

Adobe Portable Document Format - 951.31 kB - 10/10/2016 at 12:59

Preview Download

mihaylov_etal_smartgreens14.pdf

In this position paper we propose a novel trading paradigm for buying and selling locally produced energy in the smart grid. Unlike recently proposed techniques that rely on predictions and a day-ahead market, here prosumers are billed by the distribute system operator according to their actual usage and rewarded based on their actual energy input, similar to the current state of affairs. Our mechanism achieves demand response by providing incentives to prosumers to balance their production and consumption out of their own self-interest. All rewards and payments are carried out using NRGcoin — a new decentralized digital currency similar to Bitcoin, that we introduce in this paper. Prosumers exchange NRGcoins with fiat currency on an exchange market for profit, or for paying their energy bills. We study the advantages of our proposed currency over traditional monetary payment and explore its benefits for all parties in the smart grid.

Adobe Portable Document Format - 226.84 kB - 10/10/2016 at 12:58

Preview Download

Mauve Paper Vitalik.pdf

Over the past decade, projects such as Bitcoin, Namecoin and Ethereum have shown the power of cryptoeconomic consensus networks to bring about the next stage in evolution of decentralized systems, potentially expanding their scope from simply providing for the storage of data and messaging services to managing the "backend" of arbitrary stateful applications. Proposed and implemented applications for such systems range from globally accessible cheap payment systems to financial contracts, prediction markets, registration of identity and real world property ownership, building more secure certificate authority systems and even keeping track of the movement of manufactured goods through the supply chain

Adobe Portable Document Format - 533.37 kB - 10/10/2016 at 12:57

Preview Download

White Paper - Vitalik - A Next-Generation Smart Contract and Decentralized Application Platform.pdf

Satoshi Nakamoto's development of Bitcoin in 2009 has often been hailed as a radical development in money and currency, being the first example of a digital asset which simultaneously has no backing or "intrinsic value" and no centralized issuer or controller. However, another, arguably more important, part of the Bitcoin experiment is the underlying blockchain technology as a tool of distributed consensus, and attention is rapidly starting to shift to this other aspect of Bitcoin. Commonly cited alternative applications of blockchain technology include using on-blockchain digital assets to represent custom currencies and financial instruments ("colored coins"), the ownership of an underlying physical device ("smart property"), non-fungible assets such as domain names ("Namecoin"), as well as more complex applications involving having digital assets being directly controlled by a piece of code implementing arbitrary rules ("smart contracts") or even blockchain-based "decentralized auto

Adobe Portable Document Format - 2.53 MB - 04/11/2016 at 21:32

Preview Download

Blockchain & Beyond.pdf

This report, part of the work CELLABZ is doing on exploring and working with emerging technologies, multi-disciplinary teams and labs, is focusing on the Blockchain technology. Bitcoin, the crypto-currency, known for allowing direct transfer of money between individuals, without relying on a bank, has been gaining popularity and publicity over the years. Still many people haven’t heard of it or taken the time to carefully understand the underlying technology making the Blockchain pos- sible and its potential transformations onto the world. As we will see, the real innovation on this technology relies on its distributed, consensus based and transparent protocol, allowing trusted parties to exchange information between each others, without an intermediary or central authority like a bank, company, lawyer or government that controls it or regulate it . The rst application of this technology happened at the nancial level, but recently new ones are appea- ring; among them, juridical or ph

Adobe Portable Document Format - 1.81 MB - 04/11/2016 at 21:32

Preview Download

Distributed Ledger Technology beyond block chain.pdf

The progress of mankind is marked by the rise of new technologies and the human ingenuity they unlock. In distributed ledger technology, we may be witnessing one of those potential explosions of creative potential that catalyse exceptional levels of innovation. The technology could prove to have the capacity to deliver a new kind of trust to a wide range of services. As we have seen open data revolutionise the citizen’s relationship with the state, so may the visibility in these technologies reform our nancial markets, supply chains, consumer and business-to-business services, and publicly-held registers. We know there will be challenges as Distributed Ledgers mature and disrupt how we think about and store data. The UK is in a unique position to explore those challenges and help maximise the bene ts to our public services and our economy. We already have world-class digital capability, innovative nancial services, a strong research community and growing private sector expertise. It

Adobe Portable Document Format - 1.39 MB - 04/11/2016 at 21:32

Preview Download

The General Theory of Decentralized Applications, DApps.pdf

A new model for building successful and massively scalable applications is emerging. Bitcoin led the way with its open-source, peer-to-peer nature, cryptographically-stored records (block chain), and limited number of tokens that power the use of its features. Several applications are adopting the Bitcoin model in order to succeed. BitShares, Mastercoin and Open Garden are just a few of those “decentralized applications” that use a variety of methods to operate. Some use their own block chain (BitShares), some use existing block chains and issue their own tokens (Master Protocol and Mastercoin), and others operate at two layers above an existing block chain and issue their own tokens (OpenGarden). This paper describes why decentralized applications have the potential to be immensely success- ful, how the different types of decentralized applications can be classified, and introduces termi- nology that aims to be accurate and helpful to the community. Finally, this paper postulates that

Adobe Portable Document Format - 79.59 kB - 04/11/2016 at 21:31

Preview Download

Citizenwatt-BOM_v.0.4_sans tension.ods

CitizenWatt's necessary components to build the sensor

spreadsheet - 23.05 kB - 04/17/2016 at 12:56

Download

View all 10 files

  • 5 × CitizenWatt v1.1 Sensor CitizenWatt energy monitoring sensor v1.1 - OpenHardware (http://www.citizenwatt.paris/). For one sensor you need: 1 CitizenBoard v1;1, RA (22R), R2 ans R3 (470k), R4 (1K), R5 (10k), R8 et R12 (510R), C3 et C5 (10uF+), C2 et C4 (0,1uF), Jack3"5, Atmega328P (28-3), Support CI (28-3), Y1 (16MHz), LED1 (3mm, rouge), LED2 (3mm, verte), Headers femelle (40pins), Headers male (40mins), NRF24L01+, tension regulator (3.3v), battery (3*AA, 2 wires), battery (AA*4 2400mAh), charger. Price/Unit: PCB were given to us, components account for around 50€.
  • 1 × Open Energy Monitor One OEM energy monitoring device: https://openenergymonitor.org/emon/ - OpenHardware The OEM is based on a custom raspberry with 6 USB connector, 1 ethernet connector, 1 antenna connector, 2 CT Sensors and A AC Adapter. Price/Unit: 230€
  • 1 × Computer A computer to test ethereum install and energy data / blockchain management scenarios
  • 3 × Raspberry PI 3 Includes The Raspberry Pi 3 Model B Vilros Raspberry Pi 3 Clear Transparent Case With Easy Access to all ports Sandisk Micro SD Card Preloaded With NOOBS --16GB (CLASS 10) & Micro SD-SD Adapter 2 Amp Eu Power Supply--Designed for Raspberry Pi HDMI Cabel--Set of 2 Heatsinks (1 Big 1 Small), Price/Unit:64.99€
  • 3 × PINE64+ https://www.pine64.com/product , Price/Unit: 29.95€.
  • 4 × Arduino It is used to make the connexion between the Pine 64+ and teh CitizenWatt sensor
  • 1 × Arduino Relay Switch XBEE http://www.elecfreaks.com/wiki/index.php?title=2_channel_Relay_Shield_For_Arduino_(With_XBee/BTBee_interface)
  • 1 × Solar panel 12V, 1.5W, Sol5N, Velleman (24.90€)
  • 1 × Charger 12V charger (from trash)
  • 1 × Computer screen To see what's happening on the PINE64 or the Rasp

View all 12 components

  • Blockchain is fun... but what's next for energy?!

    Rieul Techer10/02/2016 at 14:52 0 comments

    Today the blockchain trend looks a bit like that:

    Blockchain technologies are interested to think transparent and secured peer-to-peer distribution in sectors where a limited amount of middle-men takes the large majority of the room. To put it in a more practical way:

    • in the banking and financial ecosystem trusted by few banks, funds and multi-national companies, Bitcoin (based on a blockchain technology - with all the known limitations) makes it possible in specific activities, to get ride of the middle-man and enable direct peer-to-peer transactions.
    • in the same manner, in the energy sector, depending on the countries, grid and production are usually trusted by a few actors, and clearly not inter-operable with other infrastructures operators (EV for instance). A bit like for Bitcoin - but with a much more complex ecosystem, thus requiring to think beyond blockchain - blockchain technologies are an excuse to think distributed, transparent and secured peer-to-peer systems. We do use the word EXCUSE because, as we'll notice later, blockchain technologies do not answer every needs of decentralized peer-to-peer energy transactions, and even bring limitations that necessitate to choose the part of the blockchain technology that we can use in a contexte where hybridization with other technologies is essential.

    To be a bit provocative, we would then say that blockchains as blockchain won't revolutionize anything. What's interesting however, and ground for potential revolution, is the spirit and the potential of hybridization and interoperation with other technologies, and appropriation by sectors and communities that are "outside-the-blockchain-box" of blockchain.

    What are we capable of doing with blockchain technologies at our scale ?

    From now on, in our case, the blockchain technology that we use (local private Ethereum blockchain) makes it possible to automate virtual electricity transactions between peers based on a algorithm ("smart-contract" that have nothing such as smart nor contract) on a 4-nodes distributed, transparent and "secured" database. We are also capable of making physical effective electricity transactions from the required producer to the necessitated consumer: switching based on the actual transaction switch operated by the "smart-contract" that triggers from which producer the calling consumer buys its electricity.


    And what are the limitation that we came across while applying it to the energy sector ?

    Please note that those limitations might have been overcome by other people. However, for the moment we do not have enough details in our hands to assure that those have been effectively overcome.

    Here we'll try to spot the main limitations of the blockchain technologies applied, in our case, to the energy sector :

    • "Blockchain technologies makes it possible to make small transactions at a really low-cost" : the low-cost of small-amount transactions is verified in the case of limited interaction with the blockchain. If continued and permanent interaction with the blockchain is required (such as registering in-real time production and consumption of each peer), then the fees pilling up can entails high amount bills.
    • "Blockchain technologies makes it possible to identify a verifiable, auditable and authentic user" : the users are pseudo-users (it's not anonymous but pseudonymous). Moreover, the blockchain technologies do not verify, label or guaranty the user, or the data the user puts in it. As we put it lovely : "shit in shit out", blockchain technologies are transition tools with inputs and outputs. The inputs need to be validate in order to call the blockchain a "tool for the guarantied and validated information".
    • "Blockchain technologies certify and make transaction more secured, reducing the risk for fraudulent actions" : this is true, provided the consensus process of validation of the transaction.
    • "Blockchain...
    Read more »

  • DAISEE 1.0 - Energy sensor enabling virtual transaction on a local Ethereum blockchain

    Rieul Techer09/29/2016 at 19:06 0 comments

    There are mainly 3 steps to build a local micro-electricty sharing network (and when we mean micro... we mean real-micro - 3 nodes with small solar panel and consuming devices such as smartphones or bulb connected to electricity meter connected to a local Ethereum blockchain - does it sound comprehensible ?):

    • first, the hardware step: building the electricity sensor coupled to the IoT that will enable the sensor to talk to the local Ethereum blockchain and make it possible to the sensors to talk one with another
    • second , the software step: connection to the local ethereum blockchain, make it possible for sensor to communicate with each other and share data, call a "smart-contrat" that automate the virtual energy transaction and the effective tokken exchange
    • last of all, the infrastructure: make the system capable of effectively sharing electricity with peers on the network in line with the actual real production and consumption, thus assuring the switch when one production source is down to make a one that over-produce capable of providing the necessary electricity to the consumer.

    This log is 1.0 since it concerns the prototyping of the all system at the micro-scale.


    • Instruction 3 of the process ( gather all the necessary information on the Hardware part and Software part for prototyping. Instruction for the full prototype are not yet online since we're still in the prototyping process. To come...
    • Documentation of the prototype can be found HERE (in french for the moment).

    Hardware step : CitizenWatt + Pine64+ + Arduino

    Note: we use Pine64+ because we tried to use Raspberry Pi III to make ethereum Geth client running and make it possible for transaction to diffuse, but it turns out that it was not possible to mine on a Raspberry Pi III.

    • Documentation can be found HERE (in french for the moment, please excuse us for the inconvenience).
    • More ressource can be found on our GitHub Repository.
    • For the CitizenWatt sensor building process see INSTRUCTION 2.
    • For the CitizenWatt/PINE64+/ARDUINO interaction see INSTRUCTION 3.


    Software step : Local Ethereum nodes + Smart Contract + Sensors' communication

    • From the previous logs (mainly log DAISEE 0.8) most of the software steps have been prototyped.
    • Please see INSTRUCTION 1 and 3 for the Ethereum set up process.
    • For the smart-contract and DApp development see INSTRUCTION 4 and 5.
    • Finally, see INSTRUCTION 6 for update of the consumption and production data on the blockchain (necessary to automated through the smart-contract the transactions

    Infrastructure step : Production + Consumption + Arduino (for automated switch)

    This phase is still under construction and concerns only the micro-scale prototyping. For real scale prototyping (micro-grid scale) we are under discussion with some grid operator to test the solution with few houses (if consistent with the finding of our micro-scale prototyping phase).

    The principle is to have various sources of production and consumption connected to an Arduino switch with is connected to the various PINE64+ that gather and manage consumption and production data. The switch is activated by the consumer that need electricity. The switch is controlled by the output of the smart-contract: who gives what to who ?

    We come with more news in this log as soon as possible.

    Note: for the sake of the experimentation we'll do our best to test in real usage conditions. However, at first we'll simulate the production and consumption data.

  • DAISEE 0.9 - DAISEECamp #2 : CitizenWattCamp & EthereumCamp

    Rieul Techer08/21/2016 at 14:46 0 comments

    This second DAISEECamp (#2) is, at first, part of two camps :

    Documentation of the DAISEECamp#2 can be found HERE (still really sorry, it's mostly in french we are working on the translation).

    Explanation of what is CitizenWatt by Olivier Blondeau from Citoyens Capteurs (in french not yet translated):

    3 main purposes for this camp

    • Consolidate the documentation process by slightly switching toward full GitHub support and link with Multibao
    • Debug issues with the CitizenWatt sensor and make them work
    • Make it possible for Raspberry Pi or any Ethereum node support to mine at least a block

    1st goal : to have the prototypes of each of the necessary bricks that work to focus during the next month on the articulation of each bricks in order to have a functional prototype within a month.

    2nd goal : answer to the Automation challenge since the core of our work since le last 4 logs are about how to automate the peer-to-peer transaction process with the blockchain (please see : last Log for instance)


    CitizenWatt Sensor : make it work

    For the purpose of this session, @Olivier Blondeau came at our local hackerspace (La MYNE) to help us solve the issues we had with the CitizenWatt sensors.

    The first step was to compare the hardware part to make sure there were no issues compared to a CitizenWatt sensor that works:

    No issues were found. It appears that the trouble came from the software and more particularly the way we flashed the ATMEGA. (Update of the instruction are to come concerning the CitizenWatt sensors then).

    Indeed, after following the flashing process using a FTDI programmer (Code source: sketch Arduino)

    e ended up with 5 CitizenWatt sensors working:

    Once the CitizenWatt sensor are working it is necessary to couple the sensor to a Raspberry PI in order for the sensor to communicate the data it senses (through RF in this v1 version of the board and through Low Energy Bluetooth in the coming v2 version of the board). This means that it is necessary to install the CitizenWatt disk image and interface on the Raspberry Pi.

    It turns out that it works well with the Raspberry Pi 1 but not with the more recent ones since this is not the same architecture. This leads us to another issue then : we need to build the CitizenWatt UX image and boot for a Raspberry PI 3 (that is more powerfull than a Raspberry 1 and might be right to mine as an ethereum node). Clement D., one of the core developer of CitizenWatt thus took some with us to build and test. Exchange and procedure are HERE (instructions on this part are to come ASAP).

    However, we did test the good functioning of the CitizenWatt on site with a Raspberry Pi 1 install... and it worked well. However, it turned out that RF is not powerful enough to push data from a floor to the other.

    Testing has been carried out with a electricity consuming device:

    Plugging the Amp plier to the brown cable (the one that get electricity into the device basically)

    Enables you, through the local interface, to follow the consumption (yep... do not bother with the guy taking the photo instead of sreen-printing :-) ):

    At the end of the day, we still have some trouble to boot the CitizenWatt disk image on a Raspberry Pi 3. Moreover, architecture of the v2 PCB of the CitizenWatt sensor is to come and should be more interesting for our need. However, for the sake of experimentation we carry on with the v1 for the moment. You'll find all the necessary information about the PCB plans and codes of the CitizenWatt sensor AT THIS LINK (GitHub repo).

    Moreover, we still carry on installation and work on Open Energy Monitor.


    Ethereum mining nodes on Raspberry PI 3 or any other support

    As stated on the previous LOGs we do not have so much trouble to make raspberry pi as ethereum node of a common private blockchain. Our issues come from the fact that in order for the nodes to participate...

    Read more »

  • DAISEE 0.8 - Building Ethereum Nodes, Smartcontract and DApps

    Rieul Techer08/21/2016 at 13:18 0 comments

    As part of the development of some bricks of the DAISEE program, two of the main technological bricks are:

    • How to make Smart Energy Monitoring/Meter IoTs as Ethereum blockchain nodes that can talk to each other via a blockchain and make and validate transactions ?
    • How to automate the transactions management ?

    Documentation can be found here (documentation is still mainly in french, we'll do our best to translate it - if by any chance you wanna help you're more than welcome):

    You'll also found more detail instruction on the instruction web page.

    Building Ethereum Nodes

    Documentation: Ethereum Installation (RaspberryPi) using GETH and an alternative way for the Installation of an Ethereum node on a Raspberry Pi using PARITY

    In the related documentation, you'll find the process for the installation of an Ethereum node on a Raspberry PI using various techniques. It also focuses on the problems and difficulties we've been facing and how to overcome some of them.

    Please note that the first attempts have been carried out on the emonpi which is a costumed raspberry pi for the Open Energi Monitor. However, the process is further described in the document for Raspberry Pi in general.

    3 ethereum nodes on Raspberry PI talking to each other on a common private blockchain


    Building a peer-to-peer energy transaction smart-contract

    Documentation: Design & Deployment of SmartContrat Peer-to-peer Energy

    The first step before building the smart-contract is to define

    • why do we need a smartcontract
    • what does it need to do
    • how does it do it and when

    Why do we need a smartcontract ?

    We need a smartcontract in order to automate the energy and currency transaction processes between peers. Indeed, the aim is to make it simple for the prosumer to manage the transactions with other prosumer while keeping the process transparent and appropriable.

    What does it need to do ?

    For us and at the moment, it need to automate transactions while called automatically by a prosumer either selling or buying energy.

    How does is do it and when ?

    It does it while comparing on an "energy market" who's producing to much and who needs energy for consumption. Then it triggers the transaction while being called by a prosumer automatically. Finally, it updates the energy and currency account while providing both account with the necessary (positive or negative) balance.


    Building a dApp

    Documentation: Design & Deployment of DApp

    The dApp enables to have a user interface to manage the smartcontract and, thus, the transaction process. The related documentation focuses on the development of decentralized application based on Ehtereum Javascrip API WEB3.

    The dApp makes it possible to see :

    • The ether balance of the prosumer account
    • The energy account of the prosumer account
    • The latest transaction
    • Other information about the blockchain

    The accounts are updated each time there is a transaction from a producer to a consumer. Here is a video showing the transaction virtually happening between two accounts:

    Conclusion

    From now, we are able to :

    • make Raspberry PI ethereum nodes talking with a common private blockchain
    • build an energy smartcontract making it possible for two or more prosumers to make virtual energy transaction on a private blockchain
    • have an user interface making it more appropriable and visual (some more work remains to be done on the UX side)

    Our problems :

    • CItizenWatt IoT sensor are not yet ready since we still got issues to build them and make them work
    • Raspberry PI are ethereum node but are not yet able to validate and transmit transaction because it requires to mine once to initiate a block while generating a DAG file, which is necessary for the Raspberry PI, as a node, to participate to the network....
    Read more »

  • DAISEE 0.7 - DAISEECamp #1 : Get to know the local experimentation context

    Rieul Techer08/21/2016 at 10:57 0 comments

    After both the #compteurconnect and the #blockfest hackathon, it is time for us to build stuff related to a local and concrete experimental context. That's how the DAISEECamp #1 was build: in order to define in which context and how the current DAISEE development can interact with the local relality of the ground.

    As a result, we found a potential experimental ground with a local (near Lyon) group of households including Louis' father house. The documentation (in French for the moment we do are sorry about that) can be found HERE.

    The experimental context ground

    An picture is far more representing than a bunch of words...

    Basically, the set of houses are located remotely from the town in the country side with some really interesting assets for experimentation :

    • First Louis' father is already committed to experimentation int he field of energy, agriculture and a lot of things related to sustainable development

    • Secondly, the house is well set for experimentation of the DAISEE program since it already gather : 3 independent sources of solar electric production, 3 independent sources of local consumption (which means : 3 production meters and 3 consumption meters).

    Picture from @Nicolas Loubet - 16/07/16 - CC-BY-NC-SA.

    Picture from @Nicolas Loubet - 16/07/16 - CC-BY-NC-SA.

    Picture from @Sam 16/07/16 - CC-BY-NC-SA.

    Note: The UPS can be connected via Bluetooth. Unfortunately, the bluetooth module is not installed, and it is not possible to get back the date via bluetooth for the moment.

    Moreover, there is a local project about building a distributed solar powerplant divided around 10 site of 9kW each.

    What is energy and what do we want to do here with DAISEE

    The aim of this session was to clarify what energy is, what are the interest of the contributors in the DAISEE program and what are the next steps.

    What we've done during this Camp

    • Test the Open Energy Monitor on site

    Picture from @Sam 14/07/16 - CC-BY-NC-SA.

    It turns out that data from the EmonPi (OEM) does not seem relevant. Even if the EmonPi is not connected, is still mesure a 34W power. It can be the sensibility (noise) of the sensor. We have to check if an AC/DC adaptor can improve reliability.

    • Take some time with Louis' father to discuss the needs and understand into details the photovoltaïc solar panel installation and use chain : from first contact with the contractor to the electric production and invoicing to the electricity buyer. We gathered a lot of data and sources that helped us to understand where DAISEE can add value for both the consumer and the contractor/buyer/distributor.

    Discussion about the DAISEE's orientations

    This camp was also the opportunity to discuss the relevance of the blockchain technologies for he DAISEE project.

    It turns out that the blockchain technologies are part of the solution but have current limitation that make them not fully relevant for the energy sector. Some points are:

    • Real time data management on a blockchain is really limited from both the validation time of a block, the size of the blockchain and the necessary fee for each transaction (that can add-up to really costly overall fee)
    • Identity management and securing the viability and relevance of the energy data that are collected
    • It's relevant for transaction and automation of the processes
    • It will require to be hybridized with other technologies related to data storage (IPFS for instance) and database management (BigChainDB for instance)

  • DAISEE 0.6 - #Blockfest

    Rieul Techer08/05/2016 at 17:46 0 comments

    Between the 6th and 12th of June, the Blockfest was held at Ecole 42 in Paris.

    We were there to welcome new members to the contributors team and work on a very first prototype: how to make 3 independent RaspPi Ethereum blockchain nodes to communicate with each other and make transaction.

    You'll find the detailed documentation following THIS LINK. More specific documentation can be find HERE about how to deploy a local ethereum blockchain on one or more RaspPi. More specific documentation about the SmartContract is HERE. Last of all, our presentation about our production can be found HERE.


    Who were the contributors ?

    • Core Team (on site)
      • Clément (curiosity)
    • Core Team (remotely)
      • Paul (Energy Monitor / CitizenWatt)
      • Isabelle (design)
      • Timothée (design)
      • Alizée (design)
    • Contributors (sprint)
      • Sprinters Code
        • Petar : PhD in Physics and IT dev / SmartContract
        • Sentia : PhD in Climate and Ice study / Engineer in environment / Dev PYTHON and atmosphere simulation/modelisation
        • Olivia : PhD in ARtificial Intelligence / Digital Innvoation at TOTAL SA
      • Sprinters Energy
        • Antoine : Renault Co. IT engineer / Innovative project officer (Tweezee, 1L) / Electronic
    • Mentors
      • Jean-Henry : Professor at Geneva University (blockchain oriented IT)
      • Jörn : PhD thesis in IT applied to law.
      • Serge : note taking / Education / Badges for trust creation
    • Observers
      • Jean-Christophe : Renault Co. / Finance at Renault Nissan / Blockchain applied to banking and insurance.

      Smart contract

      Mentors reviewing smart-contract. Photo RIeul (CC-BY-NC-SA)

      • 1st iteration : fonctional description of a smart contract (SC)
        • Assumption: each user pushes electric production and consumption data all together in real-time.
        • For each user, the SC assesses which one is sur-producing and which one is over-consuming.
        • The SC then calculate if electricity is available and/or needed depending on the information on the blockchain.
        • If a user does not own enough electricity :
          • If electricity is available on the blockchain, he buys some.
          • If not enough electricity on the blockchain he buys at the main producers.
        • If a user is sur-producing, then it put it on the blockchain ans making it available.
          • If there is a need of electricity on the blockchain, he sells it.
          • If there is no need, he sells at the main producers.
      • 2nd iteration : Design of the SC transaction

      Exchange with Pierre-Alexis Ciavaldini (co-organiser of the BlockFest, student at 42).

      Triptique :

        • Tokken
        • Exchange
        • Ethereum

      Principle :

        • Energy IoT Monitor
        • if Positive Differencial > The Information fuel the IOT with electricity.
        • UX with wbe platform either based on the IoT or using IPFS .

      To be defined :

        • Do we directly sell energy or difered in time ?
        • Can the consumer directly buy to a specific producer ?

      Paradigm :

        • Priority for direct exchange
        • Stockage enables delays in time
        • If no one on the grid need electricity then you store

      How would it work between a producer and a consumer ?

        • Electricity production for the producer
        • Get back the production data from the IoT
        • Store the data on the IoT (or use IFPS)
        • Producer has a an "Wallet Ethereum" with coin on his/her IoT
        • Get back the consumption data from the IoT
        • Store the data on the IoT (or use IFPS)
        • Producer has a an "Wallet Ethereum" with coin on his/her IoT
        • Executing the SmartContract with buying rules
        • The cosumer's account buying electricty
        • Transaction is made towards the producer
        • The producer's account is credited with the right amount of money (less the potential fee for running the grid

      Transactions :

        • from address to address
        • towards a specific 0 address on the blockchain pointing towards the SC

      2 timing :

        • one for the currency transaction
        • one for the energy transaction


      Ethereum / IoT

      An Ethereum node running on a Raspberry Pi. Photo RIeul (CC-BY-NC-SA)

      • Equipment
        • 3 Raspberry Pi with ethereum client installed...
    Read more »

  • DAISEE - Anything Goes: Mission to Mars

    Rieul Techer07/19/2016 at 17:35 0 comments

    Anything Goes challenge : define the constrains and the vision of DAISEE on... Mars ! Yep... "Anything Goes". here is the related video:

    Why Mission to Mars ?

    Basically,SpaceX aims at sending people on Mars and we'll be needing to build the energy infrastructure on Mars in a way that is more sustainable and resilient than on Earth.

    More over, Tesla is building the future of energy storage infrastructure and energy distribution network complementing the "well-known" "conventional" grid or micro-grid.

    Then we think that, given the conditions on Mars and the necessity for energy production and distribution, DAISEE could be the future of the energy infrastructure on Mars.

    Energy basics on Mars

    • No fossil fuel
    • Solar energy (about 50% of the earth's solar irradiation)
    • Wind power energy : Mars is a windy planet
    • Nuclear fission/fusion since there are nuclear fuel on Mars
    • Plant based electricity production
    • Carbon dioxide sublimation (solid to gas transformation) > energy generation

    Grid infrastructure basics

    • Low pressure and gravity (surface gravity: 38% of that on Earth...)
    • The Mars landers Viking I, Viking II, Pathfinder, Opportunity Rover, and Spirit Rover identified aluminium, iron, magnesium, and titanium in the Martian soil" (see Wikipedia), confirming that materials on site con be used to build the infrastructure
    • Temperatures are very low, thus enabling more efficiency for electrical distribution systems.

    What's you thoughts about the feasibility and technical constrains on Mars to build this infrastructure ? You might have some ideas about how to work it out ?

    We thought about this Mars project because it makes it possible to really think out of the box the potential application of DAISEE in a both new and known environment: new since it put some more constrains that we are not used to deal with, known because Mars is a planet with limited ressources as we know it on Earth. Thinking and building DAISEE on Mars, enables to think about innovative ways to distribute and exchange energy.

    We would be glad to heard about your thoughts. Please let us know.

    The DAISEE Team

  • DAISEE 0.5 - #CompteurConnect

    Rieul Techer05/30/2016 at 19:58 0 comments

    2016-05-21: Hackhaton #CompteurConnect - DAISEE has been revealed :-)

    The #CompteurConnect hackathon held by the French ministry for environment, energy and ecology has given the DAISEE team the opportunity to:

    • Make the project vision clear & work on the global design of the project
    • Work on a (proto) smart contract based on the ethereum blockchain that simply enable to a person who produce a surplus of electricty to exchange this surplus with another person who is consuming in exchange for a token.

    This smart contract is the first energy peer-to-peer contract based on the Ethereum blockchain. It works more or less... still need improvement and it's modest in its structure and on what it is doing but still... the first energy smart contract.

    If you wanna look a bit into it it's in the GitHub repo. Please feel free to improve! You'll also find our final presentation in the shared files called DAISEE slide-deck.

    The documentation (in FR, so sorry) of our process during the hackathon is here.

  • Where are we today ?

    Paul Fl04/25/2016 at 09:43 0 comments

    As winter and the deadline for the first challenge are coming, it is time to state how advanced we are today (2016-07-19). Moreover it's been a while since we haven't post something about our advances its because... we're trying to progress !

    2016-07-19

    Technically

    • We've installed Ehtereum node on independant Raspberry Pi II and III and made them communicate with a local ethereum blockchain
    • We've made some basic transaction on the local blockchain between the Raspberry PI
    • We've code a energy "smart contract" that has not been tester yet
    • We've finished soldering on the CiizenWatt PCB, unfortunaltely it doesnt't work yet (we've got some trouble with it... we'll explain later in antoher log)

    Functionnally

    • We are looking for experimental territories to test in real conditions
    • We've found another playground remotely from Lyon at the @Louis Villard parents' house engaged in a transition process
    • We still don't understand why our CitizenWatt are not working
    • Open Energy Monitor is functional but suffers from weak sensitivity and consistance in consumption data.

    The related documentation :

    Lot of work has been lead by @Sam @Louis Villard and @Paul Fl on soft and hardware.

    Extensive work has been lead by @Nicolas Loubet @Rieul Techer @Aude Omn and @xavier on the ecosystem and community building around te DAISEE project.

    Carry on following the feed... more logs to come.

    2016-04-25

    Technically

    • We can measure and log current thanks to the current clamp
    • We installed the Ethereum client on a Raspberry Pi
    • We can perform some basic smartcontracts

    Functionally

    • We have the building that will serve as playground for the project (La M[y]ne, the physical space hosting la Paillasse Saône, eco hacklab in Lyon, France)
    • We are in the process of building 5 pairs of Citizen-Watt + Raspberry Pi

    We will use a Citizen Watt board to measure and tokenize the energy production and consummation : this is basically a current clamp connected to an home made customized Arduino (ATMega368 based PCB).

    On a Raspberry Pi, we will manage the blockchain capabilities (via Ethereum), the smart contract between actors, allowing a smart and decentralized governance.

    Planning of the project

    Step 1

    We use each room of a house to act as various actors in a simulated energy market.

    Step 2

    We scale up the POC to a few houses to create a real small energy market, some actors producing energy, some other consuming, and some actors doing both.

  • DAISEE 0.4

    Rieul Techer04/17/2016 at 13:33 0 comments

    2016-04-17 - Preparing CitizenWatt sensors / Infra

    With @Sam :

    • Inventory of the equipment we have and the equipment needed for the CitizenWatt energy monitoring building.

    • Lean how the CitizenWatt sensor works (further information to be gathered from Olivier Blondeau from CitizenWatt).
      • Basically, components are soldered on the CitizenWatt board v1.1. The CitizenBoard fully loaded aim at taking the consumption data out of the electrical monitor at your house; with the CT sensor it will enable to capture the electrical consumption. It will then send it to a Raspberry Pi for data collection (as a server).
    • CitizenWatt components welding on the CitizenWatt board v.1.1 following Step by Step Tuto:

      • What we have soldered: R1, R2, R3, R4, R5, Green LED, Red LED, FTDI connector.
      • What need to be bough and soldered: the remaining components to fully complete the CitizenWatt board.

    • We have decided that each CW / OEM sensor/monitor need to have a Raspberry PI with Ethereum installed to directly embed data in BC and push BC and not clear data for security reason > data has to be directly embeded within the BC. It appears that pushing the data to a R.Pi in order to process it afterwards (as OEM is doing it actually) is not safe.

View all 13 project logs

  • 1

    Ethereum installation on a Raspberry PI

    An Ethereum node running on a Raspberry Pi. Photo by RIeul (CC-BY-NC-SA)

    Equipment

    • 3 Raspberry Pi with Ethereum client (each Pi = a node of a blockchain)
    • 3 SD cards
    • 2 computers


    Other solution

    • Using Wio Link to simulate energy production and consumption.
    • Get the energy balance data on the blockchain from the past hour
    • Call the smart contract with input. Show the effective SC transaction

    Communication
    • Before making 2 Raspberry Pi commnicate on a same blockchain it is necessary to mine a 1st block manually to get a common base (same root). One the case of Blockfest, the fist blocks have been given to us by the mentors.

    Transactions

    • Steps to be followed here.

    Installation on a Pi

  • For each Pi, here are the steps for setting up a local blockchain. Note: If the Geth command does not work > export PATH=$PATH:$HOME/go-ethereum/build/bin

    • Install Raspbian Jessie Lite on the SD card for each Raps https://www.raspberrypi.org/downloads/raspbian/
    • Turn on the raspberry and SSH connect : ssh <user>@<ip_adress>
    • Install Go Ethereum on the raspberry
    • wget https://github.com/EthEmbedded/Raspi-Eth-Install/archive/v0.3.3.tar.gz
    • tar -xvzf v0.3.3.tar.gz
    • cd Raspi-Eth-Install-0.3.3/
    • ./geth-installer.sh
    • Add "geth" in the PATH
    • export PATH=$PATH:$HOME/go-ethereum/build/bin
    • Get and copy the folder "data4" from Xavier (mentor) containing a local blockchain (few nodes/blocks)
    • Modification of the key in nodekey in order to make each node unique
    • vi /home/pi/data4/nodekey


    Connection of nodes

    • Launch the node on the Raspberry
    • geth --rpc --rpcaddr <ip_adress> --rpccorsdomain="*" --networkid <network_id> --identity <node_name> --datadir <data_dir> --verbosity N --maxpeers M --ipcpath <ipc_path>
    • <ip_adress> : ip of the raspberry
    • <network_id> : common id for all the raspberry
    • <node_name> : name of the node of a raspberry which will be different for each raspberry
    • <data_dir> : folder
    • N : log level
    • M : max number of nodes
    • <ipc_path> : path to geth.ipc
    • Connect to node
    • geth attach <ipc_path>
      • <ipc_path> : path to geth.ipc
    • Add the other Rasp
    • PI Information
    • b8:27:eb:20:64:45 / bf7-1 / ssh pi@10.19.244.249
    • b8:27:eb:7c:65:bc / bf7-2 / ssh pi@10.19.244.247
      • b8:27:eb:e4:ae:c6 / bf7-3 / ssh pi@10.19.244.240
    • Users
      • Sur bf7-1,
        • Account #0: {60d6f22d9b5684160065542a9a1c76f6139019a4} /home/pi/.ethereum/keystore/UTC--2016-06-12T05-11-22.486302973Z--60d6f22d9b5684160065542a9a1c76f6139019a4
        • Passphrase = bf71
      • Sur bf7-2,
        • Account #0: {088a02f7ab6ea9f007ce4cd4b0aa2710a2e99725} /home/pi/.ethereum/keystore/UTC--2016-06-12T05-11-50.666476289Z--088a02f7ab6ea9f007ce4cd4b0aa2710a2e99725
        • Passphrase = bf72
      • Sur bf7-3,
        • Account #0: {655eb76642212093c8d2a5f59ae671c9601607fc} /home/pi/.ethereum/keystore/UTC--2016-06-12T05-12-03.156618517Z--655eb76642212093c8d2a5f59ae671c9601607fc
        • Passphrase = bf73
    • Adding nodes in static-nodes.json for automatically adding nodes
  • 2

    CitizenWatt Sensor Building

    Most of the documentation is coming from the CitizenWatt.

    • Sources for Hardware part of the CitizenBoard can be found HERE.
    • Sources for Software part of the CitizenBoard can be found THERE.
    • Step by step CitizenWatt Sensor mounting can be found THERE.
    • We've done our best to translate in English and enhance the doc.

    Components
    • 1 v1.1 CitizenWatt PCB (for which you would find the plan on the hardware github repo)
    • R1 : 22 Ohms @ 1% resistor
    • R2 & R3 : 470 kOhms @ 1% resistors
    • R4 : 1 kOhms @ 5% resistor
    • R5 : 10 kOhms @ 10% resistor
    • R8 & R12 : 510 Ohms @ 10% resistor
    • C2 & C4 : 0.1 µF capacitor
    • C3 & C5 : 10 µF capacitors
    • LED1 : 3mm green LED
    • LED2 : 3mm red LED
    • Y1 : 16MHz resonator
    • NRF :Female support for CI 2 x 4 pins
    • FTDI : Male support for CI 1 x 6 pins
    • JP5 : Female support for CI 1 x 4 pins
    • 1 Jack 3.5“ connector
    • 1 Atmel ATMega368P-PU
    • 1 support for a 28 pins microcontrolor
    • VOLT : 3,3 V regulator + female support for VOLT 1×4 pins & male support for a 1 x 4 pins regulator


    Check list for PCB

    • Check if all the components are in the right position
    • Check if all of them are soldered to the PCB
    • Check if there is a short-cut in the circuit
    • Check if the volt regulator is in the right position (polarization) and if i works well
    • Check if the electricyt supply reaches the ATMega (see in the ATMega328P datasheet the "pinout" and measure with a multimeter if the value is 3.3V)
    • Check if the ATMega is well positioned and flashed (is the bootloader well installed ? is the CitizenWatt firmware well installed ?)
    • Check is the LEDs and cpacitors are in the right position (polarization)
    • If all is checked then a LED should flash every 8-10 secondes for a hundred millisecondes.

    If the connection doesn't work :

    • Check the Raspberry
    • Check the NRF

    It happens that there might be a problem with the electricity supply of the PCB.



    Place the PCB in order for you


    Solder each components to the board.

    • Twist the feet of the resistors as close as the resistor as possible

    • Put it in its location on the PCB

    • Solder the resistor to the PCB with some tin
      • Cut the resistor's feet
      • Repeat for all the resistors

    • You can then do the same with the capacitors, the LEDs and the resonator

    Note : Resistors do not have polarization, however capacitors (appart from C2 and C4) do. For the capacitor the longer foot should go the hole refered as "+". The same apply to the LED which are polarized as well. The resonator is also polarized but... you can mount it as you want to.

    • Then solder both the FTDI connector, the VOLT regulator connector, the NRF connector

    • Solder the Jack 3"5 connector

    • Solder the ATMega. Careful that the ATMega is well positioned as shown.

    • Last of all you can solder the battery connector

    Your PCB is almost ready... you need to mount the battery connectors and Pololu regulator.

    Mounting the battery

    The battery connectors are not difficult to prepare. You must be careful about the polarization.

    • First you have to striped the wires
    • Then you fit the wires into the metallic support and crimp it

    • Finally fix the wires into the connector (Be careful about the polarization: when taking the connector with the crenel up-facing the black wire comes at the right of the connector and the red one at the left)

    Mounting of the Pololu Regulator

    The regulator is delivered without metallic feet for soldering to the board. Thus you need to solder those in order to connect the Pololu regulator to the PCB.

    Once the feet are soldered, the Pololu regulator should look like that


    Atmega Flashing Process (source)

    Once the CitizenWatt PCB is full of its necessary components, we have to flash the ATMega with the Arduino Bootloader and then put the CitizenWatt code in it (HERE).

    To flash the Arduino bootloader on the ATMega here is a procedure:

    • Get the necessary equipment (an Arduino board with USB cable, a breadboard, a 1kOhms resistor, a 16MHz resonator.
    • First prepare the Arduino environment:
      • connect the Arduino to a computer
      • launch the Arduino Sorftware and open the ArduinoISP sketch (Exemples > ArduinoISP)
      • compile the Sketch and upload on the Arduino
      • you're now ready to work.
      • Then connect the arduino to the breadboard as followed

    Please note that a resonator is used in place of a quartz and a capacitor. The mounting then requires to be adapted. The central feet of the resonator is connected to the ground while the 2 other feet must be connected to the blue wires shown on the sketch.

    • Flashing the bootloader
      • Connect the Arduino Uno to a computer with an USB.
      • In the Arduino IDE Software: Tools > Program & Choose “Arduino as ISP”
      • Tools > Card type, select “Arduino Uno”
      • Tools > Engrave initialization sequence
    • The process must return no error
  • 3

    Ethereum & CitizenWat Installation on a Pine64+ board

    Pre-requisite

    PINE64+ under Debian Jessie (image : Debian Linux Jessie with Mate GUI Image [20160701] by lenny.raposo with Longsleep kernel (link).

    It is necessary to execute the following scripts at the 1st launch :

    sudo -i
    /usr/local/sbin/pine64_update_uboot.sh
    /usr/local/sbin/pine64_update_kernel.sh
    resize_rootfs.sh

    if the script is not functionning then resize the partition with GParted

    reboot

    and last of all update the linux distribution (via `aptitude update` & `aptitude upgrade`).


    Ethereum installation on a PINE64+

    Install Go :

    $ mkdir Ethereum
    $ cd Ethereum
    $ wget https://storage.googleapis.com/golang/go1.6.2.linux-armv6l.tar.gz
    $ sudo tar -C /usr/local -xzf go1.6.2.linux-armv6l.tar.gz
    $ export PATH=$PATH:/usr/local/go/bin
    $ sudo apt-get install -y build-essential libgmp3-dev golang

    Install geth. with sources compilation :

    $ git clone https://github.com/ethereum/go-ethereum
    $ cd go-ethereum
    $ make geth
    $ export PATH=$PATH:/home/debian/Ethereum/go-ethereum/build/bin


    Local private blockchain set-up. Like previous installation (Ethereum on a Raspberry PI), get back the genesis.json and create the static-nodes.json files.

    • Initialize the first bloc

    $ geth init genesis.json

    Create the ether account that will get the ether from mining :

    $ geth account new

    Start the node :

    $ geth --networkid 69 --nodiscover console

    Start mining :

    > miner.start(2)

    Contrary to the Raspberry PI III, the 2GO RAM Pine64+ makes it possible to generate the DAG file and mine blocks. In our case this is necessary since we want simple IoT to be able to diffuse a transaction from one to another, thus requiring it to mine juste once to initiate this DAG file.

    Please note that other methods can be used and require to be investigate such as lightning mining (a decentralised system where off-blockchain transactions are sent over a network afterwards), or IOTA and others to be investigated.

    Transactions from the Pine64+ car thus been processed by another node that can "easily" mine (here we use a PC).


    CitizenWatt + PINE64+ Connection & Interface


    Please note that, since the PINE64+ do not have RF support, it is necessary while using CitizenWatt Sensor to use an intermediary component integrating an RF receive and making the link with the PINE64+. As a result, we use an Arduino Uno to bridge the CitizenWatt Energy Sensor with the PINE64+ to build the full CitizenWatt Energy Monitor.

    Sources

    • GitHub repo :

    Some modifications have been done

    • the activation of the DEBUG MODE by default
    • remplacing the receive.cpp program by a Python coded program because of the addition of the Arduino as a necessary intermediary


    Installation

    • Installation of the packages and librairies spotted in scripts sh is manually made in order to identify errors and issues as-you-go.
    • Copy the sources form Github to /opt/citizenwatt
    • Installation of Python 3.4

    $ aptitude install python3 gcc python3-pip python3-dev
    • Installation of the necessary packages

    $ aptitude install postgresql supervisor avahi-daemon redis-server iptables-persistent
      • Verify the installation of citizenwatt-visu

    $ aptitude install postgresql-server-dev-all
    • Installation of Python's modules

    $ sudo pip3 install requests sqlalchemy pycrypto numpy cherrypy psycopg2 redis
    • Creation of the CitizenWatt user under Debian

    $ sudo adduser citizenwatt
      • Set the password
    • Create the database

    $ sudo -u postgres psql
    [sudo] password for debian:
    psql (9.4.9)
    Type "help" for help.
    postgres=# CREATE DATABASE citizenwatt;
    postgres-# CREATE USER citizenwatt PASSWORD 'citizenwatt';
    postgres-# GRANT ALL ON DATABASE citizenwatt TO citizenwatt;
    postgres-# exit
    postgres-#


    Note: the right user is postgres not postgresql

    • Set-up the firewall
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination :8080
    /etc/init.d/iptables-persistent save
      • Note : iptables-persistent does not exist form sratch with PINE64+. This means that you have to reset the firewall each time you start the system and configure again the firewall with the rightt IP (since there is not persistent IP)
    • Modification of hostname and hosts


    Note: Do not forget to change "pine64" with "citizenwatt" in the /etc/hostname and /etc/hosts files.

    • Copy the configuration file for the supervisor

    debian@citizenwatt:/opt/citizenwatt$ mv supervisor_citizenwatt.conf /etc/supervisor/conf.d/supervisor_citizenwatt.conf
      • Note: the current version necessitate to manually start receive.py and process.py programs (see issue #3 in Github and comments in the config file).
    Starting the CitizenWatt application

    debian@citizenwatt:/opt/citizenwatt$ sudo ./startup.sh


    Communication via the nRF24L01+ transceiver

    Note: The current versions of the Linux distribution for the PINE64+ do not support the SPI interface necessary for the communication with the nRF24L01+. While waiting the kernel drivers compatible updates, our solution consist in using an Arduino Uno as an intermediary between the CitizenWatt Sensor and the PINE64+. (See later the issues encountered with Arduino Nano).

    • Connection between the Arduino and the nRF24L01+ transceiver

    • Matching between the transceiver pins and the Arduino one

    nRF24L01+Arduino Uno
    Vcc3.3V
    GNDGND
    CSND8
    CED7
    MOSID11
    MISOD12
    SCKD13
    IRQnot connected

    Note: The sketch is mainly inspired from the receive.cpp program. A Python coded program assures data reading from the Arduino Uno via serial and writing in the /tmp/sensor.log file.

    Note: this program makes the link between the data sent and their copy in the database.

      • process.py : use of a file instead of a pipe

    By starting the receive.py and process.py Python programs, measured data by the CitizenWatt sensor are displayed in real-time :

    Note: Some issues remain unsolved yet (see Issues on GitHub)


    ISSUES

    Erreur 500

    The server is starting but a 500 error poped-up while launching the application.

    • Activating the DEBUG mode (in the visu.py file) shows that the error is due to an issue with the database connection. It turns out that the database and "CitizenWatt" user creation were not rightly done. Passing through the creation process again resolves the issue :

    Not receiving any data

    Check points:

    • Connection via the nRF24 transceiver
    • Connection on the Raspberry Pi (source)

    • Pins scheme of the Raspberry Pi

    • Pins matching between the Raspberry Pi and PINE64 (source)

    • Connection between the PINE64 and the nRF24


    Following the RPi <> PINE64 pins matching, connection might be as followed :

    nRF24L01+PINE64
    Vcc3.3V
    GNDGND
    CSNGPIO 67PC3
    CEGPIO 71PC7
    MOSIGPIO 64PC0
    MISOGPIO 65PC1
    SCKGPIO 66PC2
    • Install the librairies to access the GPIO ports

    There are 2 librairies to access to GPIO ports which are initially those used for Raspberry Pi :

    Using GPIO ports however is still not 100% operational for the moment since those librairies are still under development to improve the use of those ports.

    In our case, even if RPi.GPIO-PineA64 librairies are much simpler to use, we've decided to to use the wiringPi-Pine64 librairies. This is due to the fact this library makes it possible to use SPI bus, which is necessary to communicate via nFR24 tranceivers.

    Installation of the available packages on pine64.pro :

    debian@citizenwatt:~/debs-wiringPi-2.33$ sudo dpkg -i libwiringpi2_2.33-1_arm64.deb
    Selecting previously unselected package libwiringpi2.
    (Reading database ... 241647 files and directories currently installed.)
    Preparing to unpack libwiringpi2_2.33-1_arm64.deb ...
    Unpacking libwiringpi2 (2.33-1) ...
    Setting up libwiringpi2 (2.33-1) ...
    Processing triggers for libc-bin (2.19-18+deb8u4) ...
    debian@citizenwatt:~/debs-wiringPi-2.33$ sudo dpkg -i libwiringpi-dev_2.33-1_arm64.deb
    Selecting previously unselected package libwiringpi-dev.
    (Reading database ... 241654 files and directories currently installed.)
    Preparing to unpack libwiringpi-dev_2.33-1_arm64.deb ...
    Unpacking libwiringpi-dev (2.33-1) ...
    Setting up libwiringpi-dev (2.33-1) ...
    debian@citizenwatt:~/debs-wiringPi-2.33$ sudo dpkg -i wiringpi_2.33-1_arm64.deb
    (Reading database ... 241762 files and directories currently installed.)
    Preparing to unpack wiringpi_2.33-1_arm64.deb ...
    Unpacking wiringpi (2.33-1) over (2.33-1) ...
    Setting up wiringpi (2.33-1) ...
    Processing triggers for man-db (2.7.0.2-5) ...


    Sensor mounting process


    Transceiver connection.

    • On this picture the arrangement is almost the same that the one we would find on the Raspberry PI 1 which was our base for building the CitizenWatt Sensor.

    Note: currently the CitizenWatt sensor is made to function with Raspberry PI 1 and no other board. That's the reason why a lot has been re-thought and re-developed.

      • The CE of the nRF24 transceiver is connected to the GPIO 79 port of the PINE64+


    CitizenWatt configuration

    Set the cryptographic keys.

    After validation, the app menu looks like the following :

    It is necessary to pair the sensor (via the Sensor - Capteur - menu) :

    Electricity consumption display can be seen in the Conso menu :

    The receive.cpp code program shows the use of spidev :

    • //RF24 radio(RPI_V2_GPIO_P1_15, RPI_V2_GPIO_P1_24, BCM2835_SPI_SPEED_8MHZ);
    • RF24 radio("/dev/spidev0.0",8000000 , 25);

    Error when starting receive.py

    If receive.py has been started manually and displays that the serial library lacks, verify that the program has been started with the right version of Python (`python3` and not `python`)


    The receive.py file does not receive any data (connection via Arduino)

    Check if the red LED of the CitizenWatt sensor does not blink.

    If its the case, the problem might be with the battery powering the sensor that has not enough power to transmit the data.


View all 6 instructions

Enjoy this project?

Share

Discussions

2050consultoria wrote 01/21/2017 at 09:59 point

Congratulations on this great project !!!

Is very related to my non-profit association - "solardifusio" from Catalonia

It's a video of 2011, sorry, it's only in Catalan.

This association promotes projects of energy models

I encourage you to continue with this project 

  Are you sure? yes | no

Rieul Techer wrote 03/21/2017 at 12:58 point

Thanks a lot for sharing :) we'll contact them in order to share and see what are the potential synergies. 

  Are you sure? yes | no

Rieul Techer wrote 10/09/2016 at 22:28 point

[Coming to an end... or is it the beginning ?]

The hackaday prize 2016 si ending tomorrow.

We've uploaded almost our last log, final instructions, components are coming and teh video is also coming.

We've got a draft working prototype, but its a working prototype :-)

We hope you've liked following us. We'll be continuing exploring, investigate, experiment and develop within the DAISEE program around the energy distributed systems.

More to come... keep logged-in !

  Are you sure? yes | no

Rieul Techer wrote 10/10/2016 at 13:09 point

We've finished uploading our last log for this run, final instructions have been updated and the video is online !

We've also added some of the components we used as well as documents (papers) and a video of the context and the space we're building this DAISEE program. 

We've got all the necessary bricks for it to work and a prototype!

Welcome onboard !

  Are you sure? yes | no

Rieul Techer wrote 08/06/2016 at 16:39 point

[Instructions have been added]

Dear all, 

Some instructions about "how to install Ethereum blockchain nodes on Raspeberry PI" and about the "CitizenWatt Energy monitor" can be found : https://hackaday.io/project/10879/instructions

Please note that we've got trouble to make the CitizenWatt Energy Monitor work! If by any chance you've got some answers, we'll be more than happy to test. Do not hesitate to refer to the specific instruction process.

Hope to hear from you...

Some more updates to come into instructions and logs!

Rieul

  Are you sure? yes | no

jim.anastassiou wrote 08/16/2016 at 22:36 point

Hi everyone. Jim from Sensorica here, a open source hardware/software/blockchain development community. I  am taking a look at the project to see where I can jump in. 

  Are you sure? yes | no

jim.anastassiou wrote 08/17/2016 at 14:07 point

Tried to join but my location being Quebec, Canada forbids me from joining the project. I can lie but don't want to disqualify the rest of the team. We have *special* prize laws that are controlled by the state and everyone avoids the necessary red tape of sending a prize to citizens from our province by banning participation. :P

  Are you sure? yes | no

Rieul Techer wrote 08/21/2016 at 09:30 point

Hi Jim... thanks a lot for leaving a comment and getting in touch with us. Glad to here from Sensorica. Do not hesitate if you have any questions. We can quite easily set an e-meeting to talk about the DAISEE program, the work done so far and where we're heading towards... Looking forward to hearing from you.

I've juste read the latter post. I'll send you all the necessary information about the project (if @Nicolas Loubet hasn't done it yet) and we can set an e-metting to talk about it and see how it would be possible to cross-develop the projet with the Sensorica community as well :-)

  Are you sure? yes | no

Rieul Techer wrote 08/05/2016 at 17:50 point

[New log... we've been busy working, there are new logs to come]

Hi everyone.

Few weeks ago we were at the blockfest to prototype the first bricks of DAISEE.

The story, production and documentation are all here: https://hackaday.io/project/10879-internets-of-energy-call-me-daisee/log/43278-daisee-06-blockfest in the last log.

We would love to have your feedbacks...

By the way: we've got some trouble with the CitizenWatt set-up... details to come and help is welcome

  Are you sure? yes | no

Rieul Techer wrote 08/21/2016 at 09:40 point

HI everyone,

Those past few days we've set an DAISEECamp here in Lyon to push forward the project. Outcomes are coming in logs and instructions.
Few tips about where we stand:
- still some debugging for the CitizenWatt sensor to work with Raspberry Pi 3 (works well with Raspberry Pi 1);
- Making a Raspberry Pi a Ehtereum node it's OK but for the moment we've got troubles to make the node mine (which is necessary if we want the node to validate and transmit the transaction to the other nodes). For the moment we are on a Proof of Work basis (that's the issue) and we'd like to investigate further the Proof of Stake.
Documentation, instruction and logs are coming by the end of the day.
Keep logged in ;-)

  Are you sure? yes | no

Rieul Techer wrote 05/30/2016 at 14:14 point

[Anything Goes Challenge] - DAISEE: Mission to Mars.

Why Mission to Mars ?

Basically, SpaceX aims at sending people on Mars and we'll be needing to build the energy infrastructure on Mars in a way that is more sustainable and resilient than on Earth.

More over, Tesla is building the future of energy storage infrastructure and energy distribution network complementing the "well-known" "conventional" grid or micro-grid.

Then we think that, given the conditions on Mars and the necessity for energy production and distribution, DAISEE could be the future of the energy infrastructure on Mars.

Energy basics on Mars:

- no fossil fuel

- solar energy (about 50% of the earth's solar irradiation)

- wind power energy : Mars is a windy planet

- nuclear fission/fusion since there are nuclear fuel on Mars

- plant based electricity production

- carbon dioxide sublimation (solid to gas transformation) > energy generation

Basics about Mars for grid infrastructure:

- low pressure and gravity (surface gravity: 38% of that on Earth...)

- "The Mars landers Viking I, Viking II, Pathfinder, Opportunity Rover, and Spirit Rover identified aluminium, iron, magnesium, and titanium in the Martian soil" (see Wikipedia), confirming that materials on site con be used to build the infrastructure

- temperatures are very low, thus enabling more efficiency for electrical distribution systems. 

What's you thoughts about the feasibility and technical constrains on Mars to build this infrastructure ? You might have some ideas about how to work it out ?

We thought about this Mars project because it makes it possible to really think out of the box the potential application of DAISEE in a both new and known environment: new since it put some more constrains that we are not used to deal with, known because Mars is a planet with limited ressources as we know it on Earth. Thinking and building DAISEE on Mars, enables to think about innovative ways to distribute and exchange energy. 

We would be glad to heard about your thoughts.

Please let us know.

The DAISEE Team. 

  Are you sure? yes | no

Undead.Manatee wrote 05/22/2016 at 20:39 point

You probably want to look at VOLTTRON, http://energy.gov/eere/buildings/volttron which is built to do exactly what you're interested in - allow different parties on the grid to transact energy with each-other, securely.  It's open source, https://github.com/VOLTTRON/volttron/wiki and runs on a variety of hardware. I think the only major element of your idea not built in is the blockchain, and as you've noted, this blockchain-for-energy idea has been implemented elsewhere.

  Are you sure? yes | no

Rieul Techer wrote 05/30/2016 at 13:18 point

Hi Cody and thanks a lot for your message. 

What Voltron is doing is interesting indeed. We'll dive into the github repo to see how we can manage to take part to this repo and enhance it with the blockchain part. The idea is to not restart from zero and build over open-source elements with open-source elements.

We've noticed that the blockcahin-for-energy idea has been tested and is on the go elsewhere with the Brooklyon MicroGrid specifically. We're interested in going deper in the understanding of their work. However, I'd stay cautious on announcing effect and I'm waiting for discussing with the team. 

Moreover, peer-to-peer energy project are not new and with the blockchain lots fo project around it are emerging, it's really interesting and we look forward to working with other projects. We're a community base project and initiative, and favoring ecosystem collaboration for enhanced innovation... would you be interesting to discuss it further ?

  Are you sure? yes | no

IT-Wizard wrote 05/09/2016 at 10:30 point

Nice theoretical though. I like the idea. I am looking for something like that smart home/smart grid.  Home power delegation (delestage).

But, the hell of security risks. You need to use quite a communication protocole.

  Are you sure? yes | no

Rieul Techer wrote 05/09/2016 at 10:38 point

Hi. Indeed... First we hope that we will be able to directly push consumption and production data from sensors on the blockchain limiting the intermediary data transfer. Second, it will definitely necessitate to dive into communication protocol. Last, but not least, time to go hard :-) concrete... theory is nice indeed practice is a hell of another matter! We're starting let's see what it will look like ;-) We'd love to carry on the discussion on security if you've got some time and to know your thoughts on it. Looking forward keeping exchanging with you!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates