Editing Instrumentino Notes

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
= Draft =
 
= Draft =
  
Just a draft working on it as of Oct 2016, check history to see if updated.
+
Just a draft may or may not be completed
 
 
see also: [[Controlino Notes]]  [[Instrumentino/Smart Terminal Challenge]]
 
 
 
= What is Instrumentino =
 
 
 
Links to what the authors think:
 
 
 
* https://github.com/yoelk/instrumentino
 
 
 
 
 
My Take
 
 
 
Instrumentino is an instrument control system designed to interface with various smart or semi smart systems. The actual sensors and actuators can be as simple as potentiometers, lm35, solar cells, relays..... .  As a sort of glue there is some smart component ( beyond Instrumentino ) which, in the base case, is an Arduino running Controlino.  Instrumentino can configure Controlino on the fly to interact with a large number of sensors/actuators.
 
  
 
= Why =
 
= Why =
Line 20: Line 7:
 
= Install =
 
= Install =
  
Misnomer I do not want to really install it I want to get it running in my Spyder environment.  [[Russ's Computer Environment]]
 
 
 
== This works ==
 
 
Download the file from github, the zip file.  Unzip.  Ignore a bunch of the stuff and take the
 
 
        \instrumentino
 
        from ( ........\instrumentino-master\instrumentino )
 
        and copy it to the place where your spyder projects live ( making a new project  instrumentino  )
 
 
Find the file:
 
          ......\SpyderP\instrumentino\__init__.py
 
 
and modify the top to:
 
 
          from __future__ import division
 
         
 
          import sys
 
          sys.path.append( ".." )
 
         
 
          #...... rest of file
 
 
This should make it run.
 
 
To do much more it seems you need an arduino.
 
 
= Suggestions Remarks =
 
 
Stuff from Russ, more as it occurs to me.
 
 
* Merge git hub for Instrumentino and Controlino. What is value of separate repositories, I do not see it.
 
 
* Is there doc for Controlino? I added just a bit at:  [[Controlino Notes]]
 
 
*I like to keep my commands and responses short.  Keeps speed up without high baud rates.  Long wires need low baud rates.  Really dislike xml idea.  Would consider binary mode for time critical systems.
 
 
*Caps insensitivity is nice, but at high speeds is slower.
 
 
*Add a command to identify the software on the Arduino  I use v for version, could be version, id.....  My system responds something like "GreenHouse Sept04 2016" this way I can verify what I have connected to and that baud... is working.
 
 
*Looks like development is moving towards a new GUI.  Consider making the GUI a snap in snap out replaceable componentl.  Why Kivy, I can guess, but the fight to install might cool my jets.
 
 
*Do not make too monolithic, instead a family of applications not too tightly coupled.
 
 
= Old Notes Ignore Until Properly Organized =
 
 
== On windows not going well ==
 
 
  C:\Users\Russ>pip install instrumentino
 
  Collecting instrumentino
 
    Using cached instrumentino-1.0.tar.gz
 
  Collecting wxPython (from instrumentino)
 
    Could not find a version that satisfies the requirement wxPython (from instrumentino) (from versions: )
 
  No matching distribution found for wxPython (from instrumentino)
 
 
 
  C:\Users\Russ>pip install wxPython
 
  Collecting wxPython
 
    Could not find a version that satisfies the requirement wxPython (from versions: )
 
  No matching distribution found for wxPython
 
 
 
=========================
 
 
 
 
  C:\Users\Russ>pip install wxPython
 
  Collecting wxPython
 
    Could not find a version that satisfies the requirement wxPython (from versions: )
 
  No matching distribution found for wxPython
 
 
 
  C:\Users\Russ>pip install wxpython
 
  Collecting wxpython
 
    Could not find a version that satisfies the requirement wxpython (from versions: )
 
  No matching distribution found for wxpython
 
 
 
Well, not so bad.  Useful to know that my Spyder already had wxpython, came with it or I installed, who knows.  Also useful to know wxpython is called wx.  This helps a lot.
 
 
== Clean Install on Mint ==
 
 
Installed spyder
 
 
went to https://pypi.python.org/pypi/instrumentino  link to git hub gave 404  search found https://github.com/yoelk/instrumentino
 
 
  using D:\_Source\Python\instremento\Using Instrumentino_v03.odt
 
 
 
  package manger wxpython
 
 
 
 
== Documentation ==
 
* '''D:\_Source\Python\instremento\Using Instrumentino_v03 (1).odt'''  on my system, not sure where I found it.  Looks like from github below.
 
*[https://github.com/yoelk/Instrumentino  Github Master for Instrumentino]  what other than code is there: Wiki, not yet.  But Russ can edit it.  In https://github.com/yoelk/instrumentino/tree/master/documents there are some good documents.
 
*[http://playground.arduino.cc/interfacing/python  Arduino Info]
 
 
*[[https://www.youtube.com/watch?v=8AVNLTtEAwM Youtube present]]
 
 
<!-----------
 
*[[]]
 
*[[]]
 
 
 
Did you ever look at my presentation in EclipseCon 2015?
 
I made a presentation there that was apparently taken on camera and uploaded to Youtube:
 
https://www.youtube.com/watch?v=8AVNLTtEAwM
 
My slides are here (Instrumentino presentation.pptx):
 
https://github.com/yoelk/Instrumentino/tree/master/documents
 
If you didn't, it might explain better what instrumentino is and what plans
 
------------->
 
 
== Trying to Run  ==
 
 
example_run_ArduinoPins.py  on page 6/16
 
 
my was located at:
 
D:\Russ\0000\SpyderP\instrumentino\instrumentino-master\documents\example_run_ArduinoPins.py\ArduinoPins.py
 
 
got errors until I added at top of file
 
 
# russ add
 
import sys
 
sys.path.append( r"D:/Russ/0000/SpyderP" )
 
# end russ add
 
 
then it ran screen looked a lot like just running D:\Russ\0000\SpyderP\instrumentino\__init__.py
 
 
but what does it do.  File Load Sequence and File Load Method -- cannot find any example files of these types and not sure what they should do
 
 
sequence browse also uncleare it is looking for *.mdt files which are ??
 
 
 
method actions, look like actions are built in -- what is time defaulting to 00:00:00 time as in time.time() or time in hr:min:sec from start of system or from
 
clock
 
 
== Structure of system based on ArduinoPins.py ==
 
 
Looks like your app is a descendant of Instrument ( from instrumentino import Instrument in __init.py__) which runs when it is created.
 
 
it is modified from the base by "addition" of  comps, actions, version, name, description 
 
 
this then is used to initialize  InstrumentinoApp which looks like it is mostly the gui.
 
 
We do not seem to have python docs or unit tests to help inform us
 
 
 
what are actions?  seem to be tuple of things like the one SysActionSetPins()  look to see if it is based on abstract base.  Descends from SysAction
 
 
SysAction from instrumentino.action import SysAction, SysActionParamTime, SysActionParamFloat, SysActionParamInt
 
 
class SysAction(RunnableItem):  and RunnableItem  from executable_listctrl import RunnableItem  which is pretty much empty, this one seems to be an ABC but
 
not declared to be so.
 
 
 
An architecture document would be nice, major classes, use of threads,  mvc?  GUI vs other components
 
 
Add a log file ?? where to capture exceptions, just use the console, if so advise.
 
 
 
Well things looked good but got
 
 
Traceback (most recent call last):
 
  File "D:/Russ/0000/SpyderP\instrumentino\__init__.py", line 155, in OnUpdateControls
 
    self.UpdateControls(event.data)
 
  File "D:/Russ/0000/SpyderP\instrumentino\__init__.py", line 180, in UpdateControls
 
    comp.Enable(cfg.IsCompOnline(comp))
 
  File "D:/Russ/0000/SpyderP\instrumentino\comp.py", line 236, in Enable
 
    self.panel.Enable(isEnabled)
 
  File "D:\apps\Anaconda\lib\site-packages\wx-3.0-msw\wx\_core.py", line 9971, in Enable
 
    return _core_.Window_Enable(*args, **kwargs)
 
TypeError: in method 'Window_Enable', expected argument 2 of type 'bool'
 
  
in the console
+
C:\Users\Russ>pip install instrumentino
 +
Collecting instrumentino
 +
  Using cached instrumentino-1.0.tar.gz
 +
Collecting wxPython (from instrumentino)
 +
  Could not find a version that satisfies the requirement wxPython (from instrumentino) (from versions: )
 +
No matching distribution found for wxPython (from instrumentino)
  
 +
C:\Users\Russ>pip install wxPython
 +
Collecting wxPython
 +
  Could not find a version that satisfies the requirement wxPython (from versions: )
 +
No matching distribution found for wxPython
  
The system description file (e.g. mySystem.py) should include the following parts:
 
imports  -- there is no such file do you mean something like ArduinoPins.py
 
  
[[category:SmartTerminal]] [[Category:Arduino/RaspberryPi]]
+
[[category:Russ Draft]][[category:Russ]]

Please note that all contributions to OpenCircuits may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see OpenCircuits:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)