Discussion:
[PIC] Standalone webserver(?) based pic18 hardware USB only
noname
2017-08-19 13:11:28 UTC
Permalink
Dear forum

Somewhat mysterious title, I did not find a compact description for my question;


Here´s the project: I recently acquired a guitar multi-effect floorboard. It is form the 80s and can be queried and programmed through MIDI. MIDI is an RS232-like protocol to control all kinds of musical instruments (MIDI = Musical Instrument Digital Interface). The ´modern´ MIDI nowadays connects via USB, but in the beginning it was connected through DIN 5-pin plugs and the soundcard SUBD15 connector of your computer. You guessed it: my floorboard from the 80s has the original DIN connectors.


Now I could write a QT program or Visual Basic or any other language application that runs on my computer to control the settings of my floorboard, but what I want is a piece of hardware that plugs in my floorboard and my USB input from the computer.


I want the hardware to be standalone, so I do not want any drivers installed nor software on my computer to control the floorboard (then I could write some QT program won´t I).


No I want a sort of webserver in my hardware that I can address via a normal webbrowser. The webserver should have a webpage with buttons and the like to program my floorboard. I do not want an ethernet piece of hardware, that would require special cross-cables if I want to connect directly to a laptop.


Long introduction, sorry about that.


What I want is hardware that connects to the USB port of any laptop. The hardware then serves the laptop with all the software needed, I do not want any software on my laptop. I was thinking of a sort of TCP/IP stack in a PIC controller, but then over USB. I queried the internet with such keywords to no avail.

Is it possible to connect a PIC controller solely through USB that serves as a kind of webserver? The laptop then only has to address the webpage of the PIC controller (via US😎 and can readily program my floorboard.


A 2nd function would be to download all settings from the floorboard to a file on the computer.


I have a PIC18F2550 would it be possible with that controller?


Regards

Arjen

--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclis
Chris Roper
2017-08-19 13:31:59 UTC
Permalink
Or you could use somthing like this:
http://www.kentonuk.com/products/items/utilities/usb-host.shtml

USB Host to MIDI converter

On 19 August 2017 at 15:11, noname <***@hotmail.com> wrote:

> Dear forum
>
> Somewhat mysterious title, I did not find a compact description for my
> question;
>
>
> Here´s the project: I recently acquired a guitar multi-effect floorboard.
> It is form the 80s and can be queried and programmed through MIDI. MIDI is
> an RS232-like protocol to control all kinds of musical instruments (MIDI =
> Musical Instrument Digital Interface). The ´modern´ MIDI nowadays connects
> via USB, but in the beginning it was connected through DIN 5-pin plugs and
> the soundcard SUBD15 connector of your computer. You guessed it: my
> floorboard from the 80s has the original DIN connectors.
>
>
> Now I could write a QT program or Visual Basic or any other language
> application that runs on my computer to control the settings of my
> floorboard, but what I want is a piece of hardware that plugs in my
> floorboard and my USB input from the computer.
>
>
> I want the hardware to be standalone, so I do not want any drivers
> installed nor software on my computer to control the floorboard (then I
> could write some QT program won´t I).
>
>
> No I want a sort of webserver in my hardware that I can address via a
> normal webbrowser. The webserver should have a webpage with buttons and the
> like to program my floorboard. I do not want an ethernet piece of hardware,
> that would require special cross-cables if I want to connect directly to a
> laptop.
>
>
> Long introduction, sorry about that.
>
>
> What I want is hardware that connects to the USB port of any laptop. The
> hardware then serves the laptop with all the software needed, I do not want
> any software on my laptop. I was thinking of a sort of TCP/IP stack in a
> PIC controller, but then over USB. I queried the internet with such
> keywords to no avail.
>
> Is it possible to connect a PIC controller solely through USB that serves
> as a kind of webserver? The laptop then only has to address the webpage of
> the PIC controller (via US😎 and can readily program my floorboard.
>
>
> A 2nd function would be to download all settings from the floorboard to a
> file on the computer.
>
>
> I have a PIC18F2550 would it be possible with that controller?
>
>
> Regards
>
> Arjen
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mai
noname
2017-08-19 13:43:49 UTC
Permalink
Thank you for your reply. That is just an interface. I would still need some software on my laptop to control the floorboard. I have an interface, the old school soundblaster joystick port is a midi port.


I want a standalone solution so I can plug in any laptop or even cellphone. The application must be portable.

Arjen



________________________________
Van: piclist-***@mit.edu <piclist-***@mit.edu> namens Chris Roper <***@gmail.com>
Verzonden: zaterdag 19 augustus 2017 13:31
Aan: Microcontroller discussion list - Public.
Onderwerp: Re: [PIC] Standalone webserver(?) based pic18 hardware USB only

Or you could use somthing like this:
http://www.kentonuk.com/products/items/utilities/usb-host.shtml
[http://www.kentonuk.com/images/mhst/MIDI-USB-host-item1.jpg]<http://www.kentonuk.com/products/items/utilities/usb-host.shtml>

Kenton MIDI USB Host<http://www.kentonuk.com/products/items/utilities/usb-host.shtml>
www.kentonuk.com
Kenton MIDI to USB host allows class compliant USB devices to communicate directly with MIDI devices



USB Host to MIDI converter

On 19 August 2017 at 15:11, noname <***@hotmail.com> wrote:

> Dear forum
>
> Somewhat mysterious title, I did not find a compact description for my
> question;
>
>
> Here´s the project: I recently acquired a guitar multi-effect floorboard.
> It is form the 80s and can be queried and programmed through MIDI. MIDI is
> an RS232-like protocol to control all kinds of musical instruments (MIDI =
> Musical Instrument Digital Interface). The ´modern´ MIDI nowadays connects
> via USB, but in the beginning it was connected through DIN 5-pin plugs and
> the soundcard SUBD15 connector of your computer. You guessed it: my
> floorboard from the 80s has the original DIN connectors.
>
>
> Now I could write a QT program or Visual Basic or any other language
> application that runs on my computer to control the settings of my
> floorboard, but what I want is a piece of hardware that plugs in my
> floorboard and my USB input from the computer.
>
>
> I want the hardware to be standalone, so I do not want any drivers
> installed nor software on my computer to control the floorboard (then I
> could write some QT program won´t I).
>
>
> No I want a sort of webserver in my hardware that I can address via a
> normal webbrowser. The webserver should have a webpage with buttons and the
> like to program my floorboard. I do not want an ethernet piece of hardware,
> that would require special cross-cables if I want to connect directly to a
> laptop.
>
>
> Long introduction, sorry about that.
>
>
> What I want is hardware that connects to the USB port of any laptop. The
> hardware then serves the laptop with all the software needed, I do not want
> any software on my laptop. I was thinking of a sort of TCP/IP stack in a
> PIC controller, but then over USB. I queried the internet with such
> keywords to no avail.
>
> Is it possible to connect a PIC controller solely through USB that serves
> as a kind of webserver? The laptop then only has to address the webpage of
> the PIC controller (via US😎 and can readily program my floorboard.
>
>
> A 2nd function would be to download all settings from the floorboard to a
> file on the computer.
>
>
> I have a PIC18F2550 would it be possible with that controller?
>
>
> Regards
>
> Arjen
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
www.piclist.com
The PICList is a collection of people interested in the Microchip PIC processor.


> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
www.piclist.com
The PICList is a collection of people interested in the Microchip PIC processor.


View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mai
Byron Jeff
2017-08-19 14:04:47 UTC
Permalink
On Sat, Aug 19, 2017 at 01:11:28PM +0000, noname wrote:
> Dear forum
>
> Somewhat mysterious title, I did not find a compact description for my question;
>
>

> Here´s the project: I recently acquired a guitar multi-effect floorboard.
> It is form the 80s and can be queried and programmed through MIDI. MIDI
> is an RS232-like protocol to control all kinds of musical instruments
> (MIDI = Musical Instrument Digital Interface). The ´modern´ MIDI nowadays
> connects via USB, but in the beginning it was connected through DIN 5-pin
> plugs and the soundcard SUBD15 connector of your computer. You guessed
> it: my floorboard from the 80s has the original DIN connectors.

I still have quite a few pieces that have that original DIN connector.

> Now I could write a QT program or Visual Basic or any other language
> application that runs on my computer to control the settings of my
> floorboard, but what I want is a piece of hardware that plugs in my
> floorboard and my USB input from the computer.

Does it have to be USB for the interface?

> I want the hardware to be standalone, so I do not want any drivers
> installed nor software on my computer to control the floorboard (then I
> could write some QT program won´t I).

Understood.

>
> No I want a sort of webserver in my hardware that I can address via a
> normal webbrowser. The webserver should have a webpage with buttons and
> the like to program my floorboard. I do not want an ethernet piece of
> hardware, that would require special cross-cables if I want to connect
> directly to a laptop.

What about wireless? Or Bluetooth?

>
>
> Long introduction, sorry about that.

No worries. It's always helpful to have a complete specification.

>
> What I want is hardware that connects to the USB port of any laptop. The
> hardware then serves the laptop with all the software needed, I do not
> want any software on my laptop. I was thinking of a sort of TCP/IP stack
> in a PIC controller, but then over USB. I queried the internet with such
> keywords to no avail.

I believe you may be thinking about hardware at the incorrect level for
your project.

>
> Is it possible to connect a PIC controller solely through USB that serves
> as a kind of webserver? The laptop then only has to address the webpage
> of the PIC controller (via US😎 and can readily program my floorboard.
>

It's possible. The problem is that you'll still need a USB network driver
to access it. That's why I asked about wireless or bluetooth.

>
> A 2nd function would be to download all settings from the floorboard to a file on the computer.

OK.

>
>
> I have a PIC18F2550 would it be possible with that controller?

Yes but it would be a lot of work to pull off. So here's the big reveal:

Use a Raspberry Pi Zero W (wireless) for your project. Here's why:

- USB, Wireless, and Bluetooth stacks already implemented.
- Already has software and drivers for original MIDI via the onboard UART.
The only additional hardware is an optocoupler and a handful of
resistors.
- Built in webserver with Python and PHP backends already implemented.
- Only additional hardware to get going is a microSD card and access to
an HDMI capable TV/Monitor.
- Easily powered by a 10 watt USB phone charger.
- Cost is $10 USD.

I jut happened to be researching raspberry pi based MIDI sequencers in the
last month or so, and this was the hardware solution I settled on for
precisely the reasons stated above.

It's just easier to develop applications when all of the systems stuff
(webserver, drivers, etc.) are already in place.

Hope this helps,

BAJ

>
>
> Regards
>
> Arjen
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist

--
Byron A. Jeff
Associate Professor: Department of Computer Science and Information Technology
College of Information and Mathematical Sciences
Clayton State University
http://faculty.clayton.edu/bjeff
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership opti
Denny Esterline
2017-08-19 14:24:21 UTC
Permalink
Lots of things are possible, not so many are practical. :-)

"Web server on a PIC18" is ringing my "not practical" bell. Not to say it
cannot be done, just that there are lot of easier options.

If you want to stay with a PIC18... Can you use a serial terminal on the
PC? It's entirely reasonable to do a device-hosted, text-based menu system
and treat the PC as a dumb terminal.

For anything web server based, I'd look for a heavier processor and
definitely more memory. Recently I've been playing with the ESP8266 and
it's newer version the ESP32. They're WiFi - which may be good or bad for
you - but there's lots of example code that has a web server with wireless
access point, DHCP, and DNS that you can get pins twiddling in about 10
minutes.

-Denny


On Sat, Aug 19, 2017 at 7:04 AM, Byron Jeff <***@clayton.edu> wrote:

> On Sat, Aug 19, 2017 at 01:11:28PM +0000, noname wrote:
> > Dear forum
> >
> > Somewhat mysterious title, I did not find a compact description for my
> question;
> >
> >
>
> > Here´s the project: I recently acquired a guitar multi-effect floorboard.
> > It is form the 80s and can be queried and programmed through MIDI. MIDI
> > is an RS232-like protocol to control all kinds of musical instruments
> > (MIDI = Musical Instrument Digital Interface). The ´modern´ MIDI nowadays
> > connects via USB, but in the beginning it was connected through DIN 5-pin
> > plugs and the soundcard SUBD15 connector of your computer. You guessed
> > it: my floorboard from the 80s has the original DIN connectors.
>
> I still have quite a few pieces that have that original DIN connector.
>
> > Now I could write a QT program or Visual Basic or any other language
> > application that runs on my computer to control the settings of my
> > floorboard, but what I want is a piece of hardware that plugs in my
> > floorboard and my USB input from the computer.
>
> Does it have to be USB for the interface?
>
> > I want the hardware to be standalone, so I do not want any drivers
> > installed nor software on my computer to control the floorboard (then I
> > could write some QT program won´t I).
>
> Understood.
>
> >
> > No I want a sort of webserver in my hardware that I can address via a
> > normal webbrowser. The webserver should have a webpage with buttons and
> > the like to program my floorboard. I do not want an ethernet piece of
> > hardware, that would require special cross-cables if I want to connect
> > directly to a laptop.
>
> What about wireless? Or Bluetooth?
>
> >
> >
> > Long introduction, sorry about that.
>
> No worries. It's always helpful to have a complete specification.
>
> >
> > What I want is hardware that connects to the USB port of any laptop. The
> > hardware then serves the laptop with all the software needed, I do not
> > want any software on my laptop. I was thinking of a sort of TCP/IP stack
> > in a PIC controller, but then over USB. I queried the internet with such
> > keywords to no avail.
>
> I believe you may be thinking about hardware at the incorrect level for
> your project.
>
> >
> > Is it possible to connect a PIC controller solely through USB that serves
> > as a kind of webserver? The laptop then only has to address the webpage
> > of the PIC controller (via US😎 and can readily program my floorboard.
> >
>
> It's possible. The problem is that you'll still need a USB network driver
> to access it. That's why I asked about wireless or bluetooth.
>
> >
> > A 2nd function would be to download all settings from the floorboard to
> a file on the computer.
>
> OK.
>
> >
> >
> > I have a PIC18F2550 would it be possible with that controller?
>
> Yes but it would be a lot of work to pull off. So here's the big reveal:
>
> Use a Raspberry Pi Zero W (wireless) for your project. Here's why:
>
> - USB, Wireless, and Bluetooth stacks already implemented.
> - Already has software and drivers for original MIDI via the onboard UART.
> The only additional hardware is an optocoupler and a handful of
> resistors.
> - Built in webserver with Python and PHP backends already implemented.
> - Only additional hardware to get going is a microSD card and access to
> an HDMI capable TV/Monitor.
> - Easily powered by a 10 watt USB phone charger.
> - Cost is $10 USD.
>
> I jut happened to be researching raspberry pi based MIDI sequencers in the
> last month or so, and this was the hardware solution I settled on for
> precisely the reasons stated above.
>
> It's just easier to develop applications when all of the systems stuff
> (webserver, drivers, etc.) are already in place.
>
> Hope this helps,
>
> BAJ
>
> >
> >
> > Regards
> >
> > Arjen
> >
> > --
> > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> > View/change your membership options at
> > http://mailman.mit.edu/mailman/listinfo/piclist
>
> --
> Byron A. Jeff
> Associate Professor: Department of Computer Science and Information
> Technology
> College of Information and Mathematical Sciences
> Clayton State University
> http://faculty.clayton.edu/bjeff
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options
noname
2017-08-19 16:44:05 UTC
Permalink
Thank you all for replying. I like the wireless solution with the raspberry. I think I´ll investigate further in that direction. I happen to own 2 raspberries (one is the original 1st issue). I just thought of a PIC solution hoping that someone already had made something I could use. But I am not confined in that direction. I have not yet researched the PI Zero, but it sounds just perfect for my demand.

Regards

Arjen




________________________________
Van: piclist-***@mit.edu <piclist-***@mit.edu> namens Byron Jeff <***@clayton.edu>
Verzonden: zaterdag 19 augustus 2017 14:04
Aan: Microcontroller discussion list - Public.
Onderwerp: Re: [PIC] Standalone webserver(?) based pic18 hardware USB only

On Sat, Aug 19, 2017 at 01:11:28PM +0000, noname wrote:
> Dear forum
>
> Somewhat mysterious title, I did not find a compact description for my question;
>
>

> Here´s the project: I recently acquired a guitar multi-effect floorboard.
> It is form the 80s and can be queried and programmed through MIDI. MIDI
> is an RS232-like protocol to control all kinds of musical instruments
> (MIDI = Musical Instrument Digital Interface). The ´modern´ MIDI nowadays
> connects via USB, but in the beginning it was connected through DIN 5-pin
> plugs and the soundcard SUBD15 connector of your computer. You guessed
> it: my floorboard from the 80s has the original DIN connectors.

I still have quite a few pieces that have that original DIN connector.

> Now I could write a QT program or Visual Basic or any other language
> application that runs on my computer to control the settings of my
> floorboard, but what I want is a piece of hardware that plugs in my
> floorboard and my USB input from the computer.

Does it have to be USB for the interface?

> I want the hardware to be standalone, so I do not want any drivers
> installed nor software on my computer to control the floorboard (then I
> could write some QT program won´t I).

Understood.

>
> No I want a sort of webserver in my hardware that I can address via a
> normal webbrowser. The webserver should have a webpage with buttons and
> the like to program my floorboard. I do not want an ethernet piece of
> hardware, that would require special cross-cables if I want to connect
> directly to a laptop.

What about wireless? Or Bluetooth?

>
>
> Long introduction, sorry about that.

No worries. It's always helpful to have a complete specification.

>
> What I want is hardware that connects to the USB port of any laptop. The
> hardware then serves the laptop with all the software needed, I do not
> want any software on my laptop. I was thinking of a sort of TCP/IP stack
> in a PIC controller, but then over USB. I queried the internet with such
> keywords to no avail.

I believe you may be thinking about hardware at the incorrect level for
your project.

>
> Is it possible to connect a PIC controller solely through USB that serves
> as a kind of webserver? The laptop then only has to address the webpage
> of the PIC controller (via US😎 and can readily program my floorboard.
>

It's possible. The problem is that you'll still need a USB network driver
to access it. That's why I asked about wireless or bluetooth.

>
> A 2nd function would be to download all settings from the floorboard to a file on the computer.

OK.

>
>
> I have a PIC18F2550 would it be possible with that controller?

Yes but it would be a lot of work to pull off. So here's the big reveal:

Use a Raspberry Pi Zero W (wireless) for your project. Here's why:

- USB, Wireless, and Bluetooth stacks already implemented.
- Already has software and drivers for original MIDI via the onboard UART.
The only additional hardware is an optocoupler and a handful of
resistors.
- Built in webserver with Python and PHP backends already implemented.
- Only additional hardware to get going is a microSD card and access to
an HDMI capable TV/Monitor.
- Easily powered by a 10 watt USB phone charger.
- Cost is $10 USD.

I jut happened to be researching raspberry pi based MIDI sequencers in the
last month or so, and this was the hardware solution I settled on for
precisely the reasons stated above.

It's just easier to develop applications when all of the systems stuff
(webserver, drivers, etc.) are already in place.

Hope this helps,

BAJ

>
>
> Regards
>
> Arjen
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
www.piclist.com
The PICList is a collection of people interested in the Microchip PIC processor.


> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist

--
Byron A. Jeff
Associate Professor: Department of Computer Science and Information Technology
College of Information and Mathematical Sciences
Clayton State University
http://faculty.clayton.edu/bjeff
Byron Jeff - Clayton State University<http://faculty.clayton.edu/bjeff>
faculty.clayton.edu
Byron Jeff E-mail: ***@clayton.edu Phone: 678-466-4411 Office: UC 324 Office hours: MW 2:00 - 3:15 PM, open door or by appointment (via E-mail).


--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
www.piclist.com
The PICList is a collection of people interested in the Microchip PIC processor.


View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mai
noname
2017-08-19 18:21:43 UTC
Permalink
I fear this is getting off topic, but could you point me in a direction where I can find a sort of midi library I could use in combination with PHP?


To be more precise, my idea is to implement a webserver in the raspberry zero, with buttons for my floorboard effects in which I can turn knobs or fill in fields with the desired values for the respective effects (like distortion, chorus, delay/reverb. equalizer, master volume). I then need to send a whole bunch of bytes in a sysex message (35 bytes) to the floorboard (this is done via seral comm) and maybe query it again to check whether it arrived correctly (no checksum in the command).

Other features would be to save the current settings of the floorboard, and to choose which preset patch I want.


Or maybe (and I hope so) this already exists in some form? I could not be the first to think of this idea.


Regards

Arjen





________________________________
Van: piclist-***@mit.edu <piclist-***@mit.edu> namens Byron Jeff <***@clayton.edu>
Verzonden: zaterdag 19 augustus 2017 14:04
Aan: Microcontroller discussion list - Public.
Onderwerp: Re: [PIC] Standalone webserver(?) based pic18 hardware USB only

On Sat, Aug 19, 2017 at 01:11:28PM +0000, noname wrote:
> Dear forum
>
> Somewhat mysterious title, I did not find a compact description for my question;
>
>

> Here´s the project: I recently acquired a guitar multi-effect floorboard.
> It is form the 80s and can be queried and programmed through MIDI. MIDI
> is an RS232-like protocol to control all kinds of musical instruments
> (MIDI = Musical Instrument Digital Interface). The ´modern´ MIDI nowadays
> connects via USB, but in the beginning it was connected through DIN 5-pin
> plugs and the soundcard SUBD15 connector of your computer. You guessed
> it: my floorboard from the 80s has the original DIN connectors.

I still have quite a few pieces that have that original DIN connector.

> Now I could write a QT program or Visual Basic or any other language
> application that runs on my computer to control the settings of my
> floorboard, but what I want is a piece of hardware that plugs in my
> floorboard and my USB input from the computer.

Does it have to be USB for the interface?

> I want the hardware to be standalone, so I do not want any drivers
> installed nor software on my computer to control the floorboard (then I
> could write some QT program won´t I).

Understood.

>
> No I want a sort of webserver in my hardware that I can address via a
> normal webbrowser. The webserver should have a webpage with buttons and
> the like to program my floorboard. I do not want an ethernet piece of
> hardware, that would require special cross-cables if I want to connect
> directly to a laptop.

What about wireless? Or Bluetooth?

>
>
> Long introduction, sorry about that.

No worries. It's always helpful to have a complete specification.

>
> What I want is hardware that connects to the USB port of any laptop. The
> hardware then serves the laptop with all the software needed, I do not
> want any software on my laptop. I was thinking of a sort of TCP/IP stack
> in a PIC controller, but then over USB. I queried the internet with such
> keywords to no avail.

I believe you may be thinking about hardware at the incorrect level for
your project.

>
> Is it possible to connect a PIC controller solely through USB that serves
> as a kind of webserver? The laptop then only has to address the webpage
> of the PIC controller (via US😎 and can readily program my floorboard.
>

It's possible. The problem is that you'll still need a USB network driver
to access it. That's why I asked about wireless or bluetooth.

>
> A 2nd function would be to download all settings from the floorboard to a file on the computer.

OK.

>
>
> I have a PIC18F2550 would it be possible with that controller?

Yes but it would be a lot of work to pull off. So here's the big reveal:

Use a Raspberry Pi Zero W (wireless) for your project. Here's why:

- USB, Wireless, and Bluetooth stacks already implemented.
- Already has software and drivers for original MIDI via the onboard UART.
The only additional hardware is an optocoupler and a handful of
resistors.
- Built in webserver with Python and PHP backends already implemented.
- Only additional hardware to get going is a microSD card and access to
an HDMI capable TV/Monitor.
- Easily powered by a 10 watt USB phone charger.
- Cost is $10 USD.

I jut happened to be researching raspberry pi based MIDI sequencers in the
last month or so, and this was the hardware solution I settled on for
precisely the reasons stated above.

It's just easier to develop applications when all of the systems stuff
(webserver, drivers, etc.) are already in place.

Hope this helps,

BAJ

>
>
> Regards
>
> Arjen
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
www.piclist.com
The PICList is a collection of people interested in the Microchip PIC processor.


> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist

--
Byron A. Jeff
Associate Professor: Department of Computer Science and Information Technology
College of Information and Mathematical Sciences
Clayton State University
http://faculty.clayton.edu/bjeff
Byron Jeff - Clayton State University<http://faculty.clayton.edu/bjeff>
faculty.clayton.edu
Byron Jeff E-mail: ***@clayton.edu Phone: 678-466-4411 Office: UC 324 Office hours: MW 2:00 - 3:15 PM, open door or by appointment (via E-mail).


--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
www.piclist.com
The PICList is a collection of people interested in the Microchip PIC processor.


View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership optio
Jason White
2017-08-19 21:05:23 UTC
Permalink
What you want to do is to issue system calls with PHP. That is: on Linux
use PHP to execute a command line program that can send the midi commands.

If you have prior Linux/Unix experience, it shouldn't be too hard to pull
off.

A quick google for "command line midi" gives:
[1] SendMIDI, https://github.com/gbevin/SendMIDI
[2] Midish, http://www.midish.org/

So you would (1) figure out what exact midi commands need to be sent. (2)
install one of the referenced programs on your linux computer w/ midi
interface (3) Figure out what the arguments/configuration for the midi
command line program needed in order to send those commands; test it by
manually invoking the midi program from the command line. (4) Write a PHP
script which issues those same command-line calls when the user POSTs data
from a web form.

Now you might want to change the command data based off of what the user
enters, but that is well documented on the internet.

On Sat, Aug 19, 2017 at 2:21 PM, noname <***@hotmail.com> wrote:

> I fear this is getting off topic, but could you point me in a direction
> where I can find a sort of midi library I could use in combination with PHP?
>
>
> To be more precise, my idea is to implement a webserver in the raspberry
> zero, with buttons for my floorboard effects in which I can turn knobs or
> fill in fields with the desired values for the respective effects (like
> distortion, chorus, delay/reverb. equalizer, master volume). I then need to
> send a whole bunch of bytes in a sysex message (35 bytes) to the floorboard
> (this is done via seral comm) and maybe query it again to check whether it
> arrived correctly (no checksum in the command).
>
> Other features would be to save the current settings of the floorboard,
> and to choose which preset patch I want.
>
>
> Or maybe (and I hope so) this already exists in some form? I could not be
> the first to think of this idea.
>
>
> Regards
>
> Arjen
>
>
>
>
>
> ________________________________
> Van: piclist-***@mit.edu <piclist-***@mit.edu> namens Byron Jeff <
> ***@clayton.edu>
> Verzonden: zaterdag 19 augustus 2017 14:04
> Aan: Microcontroller discussion list - Public.
> Onderwerp: Re: [PIC] Standalone webserver(?) based pic18 hardware USB only
>
> On Sat, Aug 19, 2017 at 01:11:28PM +0000, noname wrote:
> > Dear forum
> >
> > Somewhat mysterious title, I did not find a compact description for my
> question;
> >
> >
>
> > Here´s the project: I recently acquired a guitar multi-effect floorboard.
> > It is form the 80s and can be queried and programmed through MIDI. MIDI
> > is an RS232-like protocol to control all kinds of musical instruments
> > (MIDI = Musical Instrument Digital Interface). The ´modern´ MIDI nowadays
> > connects via USB, but in the beginning it was connected through DIN 5-pin
> > plugs and the soundcard SUBD15 connector of your computer. You guessed
> > it: my floorboard from the 80s has the original DIN connectors.
>
> I still have quite a few pieces that have that original DIN connector.
>
> > Now I could write a QT program or Visual Basic or any other language
> > application that runs on my computer to control the settings of my
> > floorboard, but what I want is a piece of hardware that plugs in my
> > floorboard and my USB input from the computer.
>
> Does it have to be USB for the interface?
>
> > I want the hardware to be standalone, so I do not want any drivers
> > installed nor software on my computer to control the floorboard (then I
> > could write some QT program won´t I).
>
> Understood.
>
> >
> > No I want a sort of webserver in my hardware that I can address via a
> > normal webbrowser. The webserver should have a webpage with buttons and
> > the like to program my floorboard. I do not want an ethernet piece of
> > hardware, that would require special cross-cables if I want to connect
> > directly to a laptop.
>
> What about wireless? Or Bluetooth?
>
> >
> >
> > Long introduction, sorry about that.
>
> No worries. It's always helpful to have a complete specification.
>
> >
> > What I want is hardware that connects to the USB port of any laptop. The
> > hardware then serves the laptop with all the software needed, I do not
> > want any software on my laptop. I was thinking of a sort of TCP/IP stack
> > in a PIC controller, but then over USB. I queried the internet with such
> > keywords to no avail.
>
> I believe you may be thinking about hardware at the incorrect level for
> your project.
>
> >
> > Is it possible to connect a PIC controller solely through USB that serves
> > as a kind of webserver? The laptop then only has to address the webpage
> > of the PIC controller (via US😎 and can readily program my floorboard.
> >
>
> It's possible. The problem is that you'll still need a USB network driver
> to access it. That's why I asked about wireless or bluetooth.
>
> >
> > A 2nd function would be to download all settings from the floorboard to
> a file on the computer.
>
> OK.
>
> >
> >
> > I have a PIC18F2550 would it be possible with that controller?
>
> Yes but it would be a lot of work to pull off. So here's the big reveal:
>
> Use a Raspberry Pi Zero W (wireless) for your project. Here's why:
>
> - USB, Wireless, and Bluetooth stacks already implemented.
> - Already has software and drivers for original MIDI via the onboard UART.
> The only additional hardware is an optocoupler and a handful of
> resistors.
> - Built in webserver with Python and PHP backends already implemented.
> - Only additional hardware to get going is a microSD card and access to
> an HDMI capable TV/Monitor.
> - Easily powered by a 10 watt USB phone charger.
> - Cost is $10 USD.
>
> I jut happened to be researching raspberry pi based MIDI sequencers in the
> last month or so, and this was the hardware solution I settled on for
> precisely the reasons stated above.
>
> It's just easier to develop applications when all of the systems stuff
> (webserver, drivers, etc.) are already in place.
>
> Hope this helps,
>
> BAJ
>
> >
> >
> > Regards
> >
> > Arjen
> >
> > --
> > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
> www.piclist.com
> The PICList is a collection of people interested in the Microchip PIC
> processor.
>
>
> > View/change your membership options at
> > http://mailman.mit.edu/mailman/listinfo/piclist
>
> --
> Byron A. Jeff
> Associate Professor: Department of Computer Science and Information
> Technology
> College of Information and Mathematical Sciences
> Clayton State University
> http://faculty.clayton.edu/bjeff
> Byron Jeff - Clayton State University<http://faculty.clayton.edu/bjeff>
> faculty.clayton.edu
> Byron Jeff E-mail: ***@clayton.edu Phone: 678-466-4411 Office: UC
> 324 Office hours: MW 2:00 - 3:15 PM, open door or by appointment (via
> E-mail).
>
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
> www.piclist.com
> The PICList is a collection of people interested in the Microchip PIC
> processor.
>
>
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>



--
Jason White
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.
smplx
2017-08-20 00:56:39 UTC
Permalink
On Sat, 19 Aug 2017, Jason White wrote:

> What you want to do is to issue system calls with PHP. That is: on Linux
> use PHP to execute a command line program that can send the midi commands.
>
> If you have prior Linux/Unix experience, it shouldn't be too hard to pull
> off.
>
> A quick google for "command line midi" gives:
> [1] SendMIDI, https://github.com/gbevin/SendMIDI
> [2] Midish, http://www.midish.org/
>
> So you would (1) figure out what exact midi commands need to be sent. (2)
> install one of the referenced programs on your linux computer w/ midi
> interface (3) Figure out what the arguments/configuration for the midi
> command line program needed in order to send those commands; test it by
> manually invoking the midi program from the command line. (4) Write a PHP
> script which issues those same command-line calls when the user POSTs data
> from a web form.

Jason, respectfully, this seems like a lot of unnecessary work.

You don't need to use PHP as an interface between your "midi program" and
the web server. You can simply execute your "midi program" directly within
the web server (actually a child of it but to all intents and perposes it
seems like it is being executed by the web server).

You can write your "midi program" in C, C++, ADA, Fortran or anything else
you like, use any midi / hardware interface libraries that provide the
functionality you need, compile it to an executable and you're good to go.
The only thing you need to be aware of is the trivial GET / POST protocol
used by the web server.

This is how CGI (Common Gateway Interface) programming used to be done.
PHP is great for knocking up web page generating scripts but it doesn't do
any "hard" background work that you cannot easily do yourself.

If you know how to handle program arguments (ARGC, ARGV) then you can
handle GET. If you know how to process console input (STDIN) then you can
handle POST. If you can write text (with embedded HTML) to the console
(STDOUT) then you can send a web page from the web server to the client's
browser. Yes it really is that simple.

The only thing that might catch the uninitiated is that you might need to
put your executable in a special directory on your server and ensure that
the name of the executable ends with ".cgi"

Regards
Sergio Masci
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Jason White
2017-08-20 00:19:14 UTC
Permalink
You are quite correct Sergio, merely answering the inquiry as posted.

On Saturday, August 19, 2017, smplx <***@allotrope.net> wrote:

>
>
> On Sat, 19 Aug 2017, Jason White wrote:
>
> > What you want to do is to issue system calls with PHP. That is: on Linux
> > use PHP to execute a command line program that can send the midi
> commands.
> >
> > If you have prior Linux/Unix experience, it shouldn't be too hard to pull
> > off.
> >
> > A quick google for "command line midi" gives:
> > [1] SendMIDI, https://github.com/gbevin/SendMIDI
> > [2] Midish, http://www.midish.org/
> >
> > So you would (1) figure out what exact midi commands need to be sent. (2)
> > install one of the referenced programs on your linux computer w/ midi
> > interface (3) Figure out what the arguments/configuration for the midi
> > command line program needed in order to send those commands; test it by
> > manually invoking the midi program from the command line. (4) Write a PHP
> > script which issues those same command-line calls when the user POSTs
> data
> > from a web form.
>
> Jason, respectfully, this seems like a lot of unnecessary work.
>
> You don't need to use PHP as an interface between your "midi program" and
> the web server. You can simply execute your "midi program" directly within
> the web server (actually a child of it but to all intents and perposes it
> seems like it is being executed by the web server).
>
> You can write your "midi program" in C, C++, ADA, Fortran or anything else
> you like, use any midi / hardware interface libraries that provide the
> functionality you need, compile it to an executable and you're good to go.
> The only thing you need to be aware of is the trivial GET / POST protocol
> used by the web server.
>
> This is how CGI (Common Gateway Interface) programming used to be done.
> PHP is great for knocking up web page generating scripts but it doesn't do
> any "hard" background work that you cannot easily do yourself.
>
> If you know how to handle program arguments (ARGC, ARGV) then you can
> handle GET. If you know how to process console input (STDIN) then you can
> handle POST. If you can write text (with embedded HTML) to the console
> (STDOUT) then you can send a web page from the web server to the client's
> browser. Yes it really is that simple.
>
> The only thing that might catch the uninitiated is that you might need to
> put your executable in a special directory on your server and ensure that
> the name of the executable ends with ".cgi"
>
> Regards
> Sergio Masci
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>


--
Jason White
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/piclist
Byron Jeff
2017-08-19 21:37:52 UTC
Permalink
On Sat, Aug 19, 2017 at 06:21:43PM +0000, noname wrote:
> I fear this is getting off topic,

I agree. Moving to OT.

> but could you point me in a direction where I can find a sort of midi
> library I could use in combination with PHP?

It's unclear if an actual MIDI library is going to be too very helpful, as you
plan on managing settings as opposed to ordinary note/channel/pitch wheel
messages. So it'll likely be a set of System Exclusive custom messages in
which an actual library isn't going to be a ton of help. You refer to
exactly this below.

So a better starting place is configuring the serial port for MIDI and
setting up PHP to access the serial port. A quick search identifies a
RasPi forum post for the former:

https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=183724

and a PHP Classes page for the latter:

https://www.phpclasses.org/package/3679-PHP-Communicate-with-a-serial-port.html

Between the two it should be possible to configure the RasPi UART to
generate MIDI bit rates and for PHP to open and use the serial port. Note
that the configuration remaps 38400 BPS to 31250 BPS which is the MIDI bit
rate.

>
>
> To be more precise, my idea is to implement a webserver in the raspberry
> zero, with buttons for my floorboard effects in which I can turn knobs or
> fill in fields with the desired values for the respective effects (like
> distortion, chorus, delay/reverb. equalizer, master volume). I then need
> to send a whole bunch of bytes in a sysex message (35 bytes) to the
> floorboard (this is done via seral comm) and maybe query it again to
> check whether it arrived correctly (no checksum in the command).

The setup in the above two items should get you to a point where you can
drop a SYSEX message to the serial port to configure and read back a query.
This of course presumes that you have the extra hardware connected to the
RasPi serial port so that it has a functional MIDI In/Out interface using
the opto-coupler, resistors, and transistor driver for MIDI in and MIDI
out.

>
> Other features would be to save the current settings of the floorboard,
> and to choose which preset patch I want.

Well once the above is tested it's a simple task to accomplish all that.

Another direction to go is to substitute Python for PHP. This tutorial
shows the basic setup for Python as an Apache CGI backend:

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-apache-mysql-and-python-lamp-server-without-frameworks-on-ubuntu-14-04

And Python has several MIDI library framworks that manage SYSEX messages.
One of the first ones to pop up on a search is Mido: MIDI Objects for
Python: https://mido.readthedocs.io/en/latest/ Note that it has SYSEX
messages and files that can assist you in your task.

>
>
> Or maybe (and I hope so) this already exists in some form? I could not be the first to think of this idea.

Maybe. But the way I see it, there is enough framework already in place
that generating a simple application on top couldn't be too difficult.

Hope this helps,

BAJ

>
>
> Regards
>
> Arjen
>
>
>
>
>
> ________________________________
> Van: piclist-***@mit.edu <piclist-***@mit.edu> namens Byron Jeff <***@clayton.edu>
> Verzonden: zaterdag 19 augustus 2017 14:04
> Aan: Microcontroller discussion list - Public.
> Onderwerp: Re: [PIC] Standalone webserver(?) based pic18 hardware USB only
>
> On Sat, Aug 19, 2017 at 01:11:28PM +0000, noname wrote:
> > Dear forum
> >
> > Somewhat mysterious title, I did not find a compact description for my question;
> >
> >
>
> > Here´s the project: I recently acquired a guitar multi-effect floorboard.
> > It is form the 80s and can be queried and programmed through MIDI. MIDI
> > is an RS232-like protocol to control all kinds of musical instruments
> > (MIDI = Musical Instrument Digital Interface). The ´modern´ MIDI nowadays
> > connects via USB, but in the beginning it was connected through DIN 5-pin
> > plugs and the soundcard SUBD15 connector of your computer. You guessed
> > it: my floorboard from the 80s has the original DIN connectors.
>
> I still have quite a few pieces that have that original DIN connector.
>
> > Now I could write a QT program or Visual Basic or any other language
> > application that runs on my computer to control the settings of my
> > floorboard, but what I want is a piece of hardware that plugs in my
> > floorboard and my USB input from the computer.
>
> Does it have to be USB for the interface?
>
> > I want the hardware to be standalone, so I do not want any drivers
> > installed nor software on my computer to control the floorboard (then I
> > could write some QT program won´t I).
>
> Understood.
>
> >
> > No I want a sort of webserver in my hardware that I can address via a
> > normal webbrowser. The webserver should have a webpage with buttons and
> > the like to program my floorboard. I do not want an ethernet piece of
> > hardware, that would require special cross-cables if I want to connect
> > directly to a laptop.
>
> What about wireless? Or Bluetooth?
>
> >
> >
> > Long introduction, sorry about that.
>
> No worries. It's always helpful to have a complete specification.
>
> >
> > What I want is hardware that connects to the USB port of any laptop. The
> > hardware then serves the laptop with all the software needed, I do not
> > want any software on my laptop. I was thinking of a sort of TCP/IP stack
> > in a PIC controller, but then over USB. I queried the internet with such
> > keywords to no avail.
>
> I believe you may be thinking about hardware at the incorrect level for
> your project.
>
> >
> > Is it possible to connect a PIC controller solely through USB that serves
> > as a kind of webserver? The laptop then only has to address the webpage
> > of the PIC controller (via US😎 and can readily program my floorboard.
> >
>
> It's possible. The problem is that you'll still need a USB network driver
> to access it. That's why I asked about wireless or bluetooth.
>
> >
> > A 2nd function would be to download all settings from the floorboard to a file on the computer.
>
> OK.
>
> >
> >
> > I have a PIC18F2550 would it be possible with that controller?
>
> Yes but it would be a lot of work to pull off. So here's the big reveal:
>
> Use a Raspberry Pi Zero W (wireless) for your project. Here's why:
>
> - USB, Wireless, and Bluetooth stacks already implemented.
> - Already has software and drivers for original MIDI via the onboard UART.
> The only additional hardware is an optocoupler and a handful of
> resistors.
> - Built in webserver with Python and PHP backends already implemented.
> - Only additional hardware to get going is a microSD card and access to
> an HDMI capable TV/Monitor.
> - Easily powered by a 10 watt USB phone charger.
> - Cost is $10 USD.
>
> I jut happened to be researching raspberry pi based MIDI sequencers in the
> last month or so, and this was the hardware solution I settled on for
> precisely the reasons stated above.
>
> It's just easier to develop applications when all of the systems stuff
> (webserver, drivers, etc.) are already in place.
>
> Hope this helps,
>
> BAJ
>
> >
> >
> > Regards
> >
> > Arjen
> >
> > --
> > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
> www.piclist.com
> The PICList is a collection of people interested in the Microchip PIC processor.
>
>
> > View/change your membership options at
> > http://mailman.mit.edu/mailman/listinfo/piclist
>
> --
> Byron A. Jeff
> Associate Professor: Department of Computer Science and Information Technology
> College of Information and Mathematical Sciences
> Clayton State University
> http://faculty.clayton.edu/bjeff
> Byron Jeff - Clayton State University<http://faculty.clayton.edu/bjeff>
> faculty.clayton.edu
> Byron Jeff E-mail: ***@clayton.edu Phone: 678-466-4411 Office: UC 324 Office hours: MW 2:00 - 3:15 PM, open door or by appointment (via E-mail).
>
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> PIClist, Microchip PIC<http://www.piclist.com/techref/piclist>
> www.piclist.com
> The PICList is a collection of people interested in the Microchip PIC processor.
>
>
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist

--
Byron A. Jeff
Associate Professor: Department of Computer Science and Information Technology
College of Information and Mathematical Sciences
Clayton State University
http://faculty.clayton.edu/bjeff
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/listinfo/pic
John J. McDonough
2017-08-19 14:32:34 UTC
Permalink
While it is quite possible to do a web server with a PIC, and also USB,
doing both with an 18F would probably be a real push, and in any case,
it would be a pretty large project.

But it sounds like a prefect application for a Raspberry Pi. The major
downside, IMO, is that the newer Pi's tend to be real power hungry. You
can get 2 amp cell phone chargers, but it is tough to imagine any PIC
application that would use a fraction of that. The typical 1 amp cell
phone charger won't cut it for the Pi 2 or 3. The newer ones even have
WiFi onboard, and the 3 has Bluetooth which can be a lot simpler if
your computer supports it.

The Pi has all of the web stuff you need off the shelf, and it has
multiple USB ports, isn't terribly big, and isn't terribly expensive.
If I needed something like that and didn't want to spend months of
development, that's the way I would go. If I wanted to sell hundreds of
them, I might consider a 16 or 32 bit PIC, but not for a one-off.

--McD


On Sat, 2017-08-19 at 13:11 +0000, noname wrote:
> Dear forum
>
> Somewhat mysterious title, I did not find a compact description for
> my question;
>
>
> Here´s the project: I recently acquired a guitar multi-effect
> floorboard. It is form the 80s and can be queried and programmed
> through MIDI. MIDI is an RS232-like protocol to control all kinds of
> musical instruments (MIDI = Musical Instrument Digital Interface).
> The ´modern´ MIDI nowadays connects via USB, but in the beginning it
> was connected through DIN 5-pin plugs and the soundcard SUBD15
> connector of your computer. You guessed it: my floorboard from the
> 80s has the original DIN connectors.
>
>
> Now I could write a QT program or Visual Basic or any other language
> application that runs on my computer to control the settings of my
> floorboard, but what I want is a piece of hardware that plugs in my
> floorboard and my USB input from the computer.
>
>
> I want the hardware to be standalone, so I do not want any drivers
> installed nor software on my computer to control the floorboard (then
> I could write some QT program won´t I).
>
>
> No I want a sort of webserver in my hardware that I can address via a
> normal webbrowser. The webserver should have a webpage with buttons
> and the like to program my floorboard. I do not want an ethernet
> piece of hardware, that would require special cross-cables if I want
> to connect directly to a laptop.
>
>
> Long introduction, sorry about that.
>
>
> What I want is hardware that connects to the USB port of any laptop.
> The hardware then serves the laptop with all the software needed, I
> do not want any software on my laptop. I was thinking of a sort of
> TCP/IP stack in a PIC controller, but then over USB. I queried the
> internet with such keywords to no avail.
>
> Is it possible to connect a PIC controller solely through USB that
> serves as a kind of webserver? The laptop then only has to address
> the webpage of the PIC controller (via US😎 and can readily program m
> y floorboard.
>
>
> A 2nd function would be to download all settings from the floorboard
> to a file on the computer.
>
>
> I have a PIC18F2550 would it be possible with that controller?
>
>
> Regards
>
> Arjen
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailma
Justin Richards
2017-08-19 14:59:56 UTC
Permalink
Sounds like a task for a Wemos running websockets and a webserver.

You could have javascript that runs in a browser embedded in html which is
embedded in Arduino's c.

The Wemos hosts a webserver and a wifi access point.

So when you want to control the floorboard, scan and connect to the Wifi
access point and point your browser at the address of the device.

Websockets are very fast. The javascript takes car of sending commands and
requesting status.

Justin

On 19 August 2017 at 21:11, noname <***@hotmail.com> wrote:

> Dear forum
>
> Somewhat mysterious title, I did not find a compact description for my
> question;
>
>
> Here´s the project: I recently acquired a guitar multi-effect floorboard.
> It is form the 80s and can be queried and programmed through MIDI. MIDI is
> an RS232-like protocol to control all kinds of musical instruments (MIDI =
> Musical Instrument Digital Interface). The ´modern´ MIDI nowadays connects
> via USB, but in the beginning it was connected through DIN 5-pin plugs and
> the soundcard SUBD15 connector of your computer. You guessed it: my
> floorboard from the 80s has the original DIN connectors.
>
>
> Now I could write a QT program or Visual Basic or any other language
> application that runs on my computer to control the settings of my
> floorboard, but what I want is a piece of hardware that plugs in my
> floorboard and my USB input from the computer.
>
>
> I want the hardware to be standalone, so I do not want any drivers
> installed nor software on my computer to control the floorboard (then I
> could write some QT program won´t I).
>
>
> No I want a sort of webserver in my hardware that I can address via a
> normal webbrowser. The webserver should have a webpage with buttons and the
> like to program my floorboard. I do not want an ethernet piece of hardware,
> that would require special cross-cables if I want to connect directly to a
> laptop.
>
>
> Long introduction, sorry about that.
>
>
> What I want is hardware that connects to the USB port of any laptop. The
> hardware then serves the laptop with all the software needed, I do not want
> any software on my laptop. I was thinking of a sort of TCP/IP stack in a
> PIC controller, but then over USB. I queried the internet with such
> keywords to no avail.
>
> Is it possible to connect a PIC controller solely through USB that serves
> as a kind of webserver? The laptop then only has to address the webpage of
> the PIC controller (via US😎 and can readily program my floorboard.
>
>
> A 2nd function would be to download all settings from the floorboard to a
> file on the computer.
>
>
> I have a PIC18F2550 would it be possible with that controller?
>
>
> Regards
>
> Arjen
>
> --
> http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
> View/change your membership options at
> http://mailman.mit.edu/mailman/listinfo/piclist
>
--
http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive
View/change your membership options at
http://mailman.mit.edu/mailman/
Loading...